From d531b9f870fe25bf0917a56cf47c139ec73b0cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Wed, 8 Apr 2026 10:59:31 +0200 Subject: [PATCH] feat: nix-ld update system --- flake.lock | 36 ++-- hosts/MONSTER/default.nix | 4 + .../modules/nixvim/languages/css.nix | 2 +- .../modules/nixvim/languages/js.nix | 2 +- modules/home-manager/theme/md3-evo.nix | 14 +- modules/nixos/default.nix | 1 + modules/nixos/usecases/nix-ld.nix | 158 ++++++++++++++++++ 7 files changed, 190 insertions(+), 27 deletions(-) create mode 100644 modules/nixos/usecases/nix-ld.nix diff --git a/flake.lock b/flake.lock index 450ee05..f3d1c9a 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1774898676, - "narHash": "sha256-0Utnqo+FbB+0CVUi0MI3oonF0Kuzy9VcgRkxl53Euvk=", + "lastModified": 1775622785, + "narHash": "sha256-/yFxO+7oS1SymDfJ2iVO7K5vJKcYfe9XGIJ+quLqz0Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "a184bd2f8426087bae93f203403cd4b86c99e57d", + "rev": "527e47b78fe67213072f706bf933a9705a8c4974", "type": "github" }, "original": { @@ -112,11 +112,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1774921404, - "narHash": "sha256-oHqaEduwYqXx3itq7ckP+iuC9nU6DzfCVery4YhUjAU=", + "lastModified": 1775566751, + "narHash": "sha256-5Xkx4NQvl2azAQe3lCZCMUx4FiwGOlEb+I4kyycQYw8=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "3d02f5c53d09af97a7d66065b8c058d0599bc547", + "rev": "6aa49a9c5b82911459e230db5bd64289082d4354", "type": "github" }, "original": { @@ -145,11 +145,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1774616418, - "narHash": "sha256-z+dLkAS4bqytIlOI4h2MnjBJrSP4d1Awx0n+IV5YA3Y=", + "lastModified": 1775561155, + "narHash": "sha256-TK2IrqQivRcwqJa0suZMbcsN17CtA8Uu0v7CDnLATb0=", "owner": "YaLTeR", "repo": "niri", - "rev": "8f48f56fe19918b5cfa02e5d68a47ebaf7bf3dee", + "rev": "599db847f857b8a7ff78ce02f15acab5d5d9fee1", "type": "github" }, "original": { @@ -176,11 +176,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1774709303, - "narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", + "lastModified": 1775423009, + "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685", + "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "type": "github" }, "original": { @@ -192,11 +192,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1774799055, - "narHash": "sha256-Tsq9BCz0q47ej1uFF39m4tuhcwru/ls6vCCJzutEpaw=", + "lastModified": 1775305101, + "narHash": "sha256-/74n1oQPtKG52Yw41cbToxspxHbYz6O3vi+XEw16Qe8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "107cba9eb4a8d8c9f8e9e61266d78d340867913a", + "rev": "36a601196c4ebf49e035270e10b2d103fe39076b", "type": "github" }, "original": { @@ -215,11 +215,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1774802402, - "narHash": "sha256-L1UJ/zxKTyyaGGmytH6OYlgQ0HGSMhvPkvU+iz4Mkb8=", + "lastModified": 1775307257, + "narHash": "sha256-y9hEecHH4ennFwIcw1n480YCGh73DkEmizmQnyXuvgg=", "owner": "nix-community", "repo": "nixvim", - "rev": "cbd8536a05d1aae2593cb5c9ace1010c8c5845cb", + "rev": "2e008bb941f72379d5b935d5bfe70ed8b7c793ff", "type": "github" }, "original": { diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index 2567408..713d38b 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -124,6 +124,10 @@ package = pkgs.wireshark; usbmon.enable = true; }; + nix-ld = { + enable = true; + enableRecommendedLibraries = true; + }; }; security.sudo.configFile = '' diff --git a/modules/home-manager/modules/nixvim/languages/css.nix b/modules/home-manager/modules/nixvim/languages/css.nix index 74c06aa..5f3998f 100644 --- a/modules/home-manager/modules/nixvim/languages/css.nix +++ b/modules/home-manager/modules/nixvim/languages/css.nix @@ -24,6 +24,6 @@ in }; lsp.servers.cssls.enable = true; }; - extraPackages = lib.mkIf cfg.stylelint [ pkgs.nodePackages.stylelint ]; + extraPackages = lib.mkIf cfg.stylelint [ pkgs.stylelint ]; }; } diff --git a/modules/home-manager/modules/nixvim/languages/js.nix b/modules/home-manager/modules/nixvim/languages/js.nix index 71f2499..54486b3 100644 --- a/modules/home-manager/modules/nixvim/languages/js.nix +++ b/modules/home-manager/modules/nixvim/languages/js.nix @@ -70,6 +70,6 @@ in eslint.enable = lib.mkIf cfg.eslint true; }; }; - extraPackages = [ pkgs.nodePackages.typescript-language-server ]; + extraPackages = [ pkgs.typescript-language-server ]; }; } diff --git a/modules/home-manager/theme/md3-evo.nix b/modules/home-manager/theme/md3-evo.nix index e141278..b34b8dc 100644 --- a/modules/home-manager/theme/md3-evo.nix +++ b/modules/home-manager/theme/md3-evo.nix @@ -185,7 +185,7 @@ in name = "theme"; runtimeInputs = [ pkgs.matugen - pkgs.swww + pkgs.awww pkgs.zenity pkgs.sunwait ]; @@ -292,7 +292,7 @@ in lib.mkIf cfg.enable { home.packages = [ pkgs.adw-gtk3 - pkgs.swww + pkgs.awww theme-script ]; @@ -315,14 +315,14 @@ in qt.platformTheme.name = "qtct"; systemd.user.services = { - swww-daemon = { + awww-daemon = { Unit = { - Description = "Swww Daemon"; + Description = "Awww Daemon"; After = [ "graphical-session.target" ]; }; Install.WantedBy = [ "graphical-session.target" ]; Service = { - ExecStart = "${pkgs.swww}/bin/swww-daemon"; + ExecStart = "${pkgs.awww}/bin/awww-daemon"; Restart = "always"; }; }; @@ -331,7 +331,7 @@ in Description = "MD3 Evo Theme Init"; After = [ "graphical-session.target" - "swww-daemon.service" + "awww-daemon.service" ]; }; Install.WantedBy = [ "graphical-session.target" ]; @@ -427,7 +427,7 @@ in dunst = config.services.dunst.enable; }; - wallpaper.command = lib.getExe pkgs.swww; + wallpaper.command = lib.getExe pkgs.awww; custom_colors = let diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index a9654a7..0089a52 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -29,6 +29,7 @@ ./usecases/development.nix ./usecases/gaming.nix ./usecases/localai.nix + ./usecases/nix-ld.nix ./usecases/windows-vm.nix ./services/airprint.nix diff --git a/modules/nixos/usecases/nix-ld.nix b/modules/nixos/usecases/nix-ld.nix new file mode 100644 index 0000000..50c0c21 --- /dev/null +++ b/modules/nixos/usecases/nix-ld.nix @@ -0,0 +1,158 @@ +{ + pkgs, + lib, + config, + ... +}: +with lib; + +let + enable = config.programs.nix-ld.enableRecommendedLibraries; +in +{ + options.programs.nix-ld.enableRecommendedLibraries = mkEnableOption "pre-made list of common libraries you probably need"; + + config = mkIf enable { + # https://wiki.nixos.org/wiki/Nix-ld + programs.nix-ld.libraries = with pkgs; [ + # List by default + zlib + zstd + stdenv.cc.cc + curl + openssl + attr + libssh + bzip2 + libxml2 + acl + libsodium + util-linux + xz + systemd + + # My own additions + libxcomposite + libxtst + libxrandr + libxext + libx11 + libxfixes + libGL + libva + pipewire + libxcb + libxdamage + libxshmfence + libxxf86vm + libelf + + # Required + glib + gtk2 + + # Inspired by steam + # https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85 + networkmanager + vulkan-loader + libgbm + libdrm + libxcrypt + coreutils + pciutils + zenity + # glibc_multi.bin # Seems to cause issue in ARM + + # # Without these it silently fails + libxinerama + libxcursor + libxrender + libxscrnsaver + libxi + libsm + libice + gnome2.GConf + nspr + nss + cups + libcap + SDL2 + libusb1 + dbus-glib + ffmpeg + # Only libraries are needed from those two + libudev0-shim + + # needed to run unity + gtk3 + icu + libnotify + gsettings-desktop-schemas + # https://github.com/NixOS/nixpkgs/issues/72282 + # https://github.com/NixOS/nixpkgs/blob/2e87260fafdd3d18aa1719246fd704b35e55b0f2/pkgs/applications/misc/joplin-desktop/default.nix#L16 + # log in /home/leo/.config/unity3d/Editor.log + # it will segfault when opening files if you don’t do: + # 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 + + # Verified games requirements + libxt + libxmu + libogg + libvorbis + SDL + SDL2_image + glew_1_10 + libidn + tbb + + # Other things from runtime + flac + freeglut + libjpeg + libpng + libpng12 + libsamplerate + libmikmod + libtheora + libtiff + pixman + speex + SDL_image + SDL_ttf + SDL_mixer + SDL2_ttf + SDL2_mixer + libappindicator-gtk2 + libdbusmenu-gtk2 + libindicator-gtk2 + libcaca + libcanberra + libgcrypt + libvpx + librsvg + libxft + libvdpau + # ... + # Some more libraries that I needed to run programs + pango + cairo + atk + gdk-pixbuf + fontconfig + freetype + dbus + alsa-lib + expat + # for blender + libxkbcommon + + libxcrypt-legacy # For natron + libGLU # For natron + + # Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage + fuse + e2fsprogs + ]; + }; +}