Nix-ld: Difference between revisions

Imurx (talk | contribs)
updated x packages to their new names
add dependencies for zxlive
 
Line 35: Line 35:
     enable = true;
     enable = true;
     libraries = with pkgs; [
     libraries = with pkgs; [
        # List by default
      # List by default
       zlib
       zlib
       zstd
       zstd
Line 50: Line 50:
       xz
       xz
       systemd
       systemd
 
     
       # My own additions
       # My own additions
       libxcomposite
       xorg.libXcomposite
       libxtst
       xorg.libXtst
       libxrandr
       xorg.libXrandr
       libxext
       xorg.libXext
       libx11
       xorg.libX11
       libxfixes
       xorg.libXfixes
       libGL
       libGL
       libva
       libva
       pipewire
       pipewire
       libxcb
       xorg.libxcb
       libxdamage
       xorg.libXdamage
       libxshmfence
       xorg.libxshmfence
       libxxf86vm
       xorg.libXxf86vm
       libelf
       libelf


Line 73: Line 73:
       # Inspired by steam
       # Inspired by steam
       # https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
       # https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
       networkmanager
       networkmanager    
       vulkan-loader
       vulkan-loader
       libgbm
       libgbm
Line 82: Line 82:
       zenity
       zenity
       # glibc_multi.bin # Seems to cause issue in ARM
       # glibc_multi.bin # Seems to cause issue in ARM
 
     
       # # Without these it silently fails
       # # Without these it silently fails
       libxinerama
       xorg.libXinerama
       libxcursor
       xorg.libXcursor
       libxrender
       xorg.libXrender
       libxscrnsaver
       xorg.libXScrnSaver
       libxi
       xorg.libXi
       libSM
       xorg.libSM
       libICE
       xorg.libICE
       gnome2.GConf
       gnome2.GConf
       nspr
       nspr
Line 102: Line 102:
       # Only libraries are needed from those two
       # Only libraries are needed from those two
       libudev0-shim
       libudev0-shim
 
     
       # needed to run unity
       # needed to run unity
       gtk3
       gtk3
Line 114: Line 114:
       # export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS
       # export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS
       # other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
       # other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
 
     
       # Verified games requirements
       # Verified games requirements
       libxt
       xorg.libXt
       libxmu
       xorg.libXmu
       libogg
       libogg
       libvorbis
       libvorbis
       SDL
       SDL
       SDL2_image
       SDL2_image
       glew_1_10
       glew110
       libidn
       libidn
       tbb
       tbb
 
     
       # Other things from runtime
       # Other things from runtime
       flac
       flac
Line 151: Line 151:
       libvpx
       libvpx
       librsvg
       librsvg
       libxft
       xorg.libXft
       libvdpau
       libvdpau
       # ...
       # ...
Line 173: Line 173:
       fuse
       fuse
       e2fsprogs
       e2fsprogs
      # darktable nightly AppImage https://github.com/darktable-org/darktable/releases
      gmp
      # RapidRaw
      harfbuzz
      libgpg-error
      # https://github.com/xournalpp/xournalpp/releases/download/v1.2.4/xournalpp-1.2.4-x86_64.AppImage
      fribidi
      librsvg
      # https://github.com/nix-community/nix-ld/issues/95#issuecomment-3041993870
      (runCommand "librsvg" {} ''
        mkdir -p $out/lib/gdk-pixbuf-2.0/2.10.0/loaders
        ln -s "${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader_svg.so" "$out/lib/libpixbufloader-svg.so"
      '')
      # pdfmastereditor
      sane-backends
      pkcs11helper
      # Qt6 requires this (e.g. used in zxlive)
      libpulseaudio
      krb5
      libxcb-cursor
      xorg.xcbutilwm
      xorg.xcbutil
      xorg.xcbutilimage
      xorg.xcbutilkeysyms
      xorg.xcbutilrenderutil
     
     ];
     ];
   };   
   };   


}
}


</syntaxhighlight>
</syntaxhighlight>


Once activated (you may need to reboot the first time you enable nix-ld to make sure the environment variables are properly set), I was for instance able to run blender 4.4.3 using the [https://download.blender.org/release/Blender4.4/blender-4.4.3-linux-x64.tar.xz unpatched binary provided by the blender foundation], and develop npm projects with <code>npm install</code> like in any normal linux distribution.
Once activated (you may need to reboot the first time you enable nix-ld to make sure the environment variables are properly set), I was for instance able to run blender 4.4.3 using the [https://download.blender.org/release/Blender4.4/blender-4.4.3-linux-x64.tar.xz unpatched binary provided by the blender foundation], and develop npm projects with <code>npm install</code> like in any normal linux distribution.