summary refs log tree commit diff
path: root/modules/nix-ld.nix
blob: c1fb6cfb960d073c7db4ebabb0cccd7714eb48b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
{ lib, pkgs, ... }:

{
  programs.nix-ld.enable = true;

  programs.nix-ld.libraries = with pkgs; [
    # provide compiler libraries and tools
    stdenv.cc.cc.lib
    stdenv.cc.cc

    alsa-lib
    at-spi2-atk
    at-spi2-core
    atk
    cairo
    cups
    curl
    dbus
    expat
    fontconfig
    freetype
    fuse3
    gdk-pixbuf
    glib
    gtk3
    icu
    libjack2
    libGL
    libappindicator-gtk3
    libdrm
    libglvnd
    libnotify
    libpulseaudio
    libunwind
    libusb1
    libuuid
    libxkbcommon
    libxml2
    mesa
    nspr
    nss
    openssl
    pango
    pipewire
    systemd
    vulkan-loader
    xorg.libX11
    xorg.libXScrnSaver
    xorg.libXcomposite
    xorg.libXcursor
    xorg.libXdamage
    xorg.libXext
    xorg.libXfixes
    xorg.libXi
    xorg.libXrandr
    xorg.libXrender
    xorg.libXtst
    xorg.libxcb
    xorg.libxkbfile
    xorg.libxshmfence
    zlib
  ];

  # nix-ld really likes honoring the LD_LIRBARY_PATH,
  # which is set by the pipewire module for `libjack2`.
  # this makes it useless for most applications.
  #
  # make sure that no one sets LD_LIBRARY_PATH and that
  # nix-ld can handle the entirety of dynamic object loading.
  # NOTE: this should probably be upstreamed somewhere...
  environment.sessionVariables = {
    LD_LIBRARY_PATH = lib.mkForce [ ];
  };
}