From 1af0956351790c3c54def9e1e77eec74f32d46e5 Mon Sep 17 00:00:00 2001 From: Joshua Yuen Date: Sun, 13 Sep 2026 00:57:16 -0400 Subject: [PATCH] Add nix-ld and uv for Python development --- modules/nixos/default.nix | 1 + modules/nixos/dev.nix | 39 ++++++++++++++++++++++++++++++++++++ modules/options/default.nix | 1 + modules/options/dev.nix | 10 +++++++++ profiles/desktop/default.nix | 2 ++ 5 files changed, 53 insertions(+) create mode 100644 modules/nixos/dev.nix create mode 100644 modules/options/dev.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 2e865b1..b4d8746 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -4,6 +4,7 @@ { imports = [ ./boot.nix + ./dev.nix ./fonts.nix ./gdm.nix ./gnomeBoxes.nix diff --git a/modules/nixos/dev.nix b/modules/nixos/dev.nix new file mode 100644 index 0000000..de11eed --- /dev/null +++ b/modules/nixos/dev.nix @@ -0,0 +1,39 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; +let + cfg = config.modules.dev; +in +{ + config = mkIf cfg.enable { + # Runs dynamically linked executables intended for generic Linux (e.g. Python + # binaries downloaded by uv) by providing the standard loaders in /lib/* + programs.nix-ld = { + enable = true; + libraries = with pkgs; [ + zlib + zstd + stdenv.cc.cc + curl + openssl + attr + libssh + bzip2 + libxml2 + acl + libsodium + util-linux + xz + systemd + glib + libelf + ]; + }; + + environment.systemPackages = with pkgs; [ uv ]; + }; +} diff --git a/modules/options/default.nix b/modules/options/default.nix index aa7b287..675561c 100644 --- a/modules/options/default.nix +++ b/modules/options/default.nix @@ -5,6 +5,7 @@ imports = [ ./discord.nix ./dictation.nix + ./dev.nix ./display.nix ./gnomeBoxes.nix ./gpg.nix diff --git a/modules/options/dev.nix b/modules/options/dev.nix new file mode 100644 index 0000000..6f7f317 --- /dev/null +++ b/modules/options/dev.nix @@ -0,0 +1,10 @@ +{ + lib, + ... +}: +with lib; +{ + options.modules.dev = { + enable = mkEnableOption "Python development with uv and nix-ld"; + }; +} diff --git a/profiles/desktop/default.nix b/profiles/desktop/default.nix index cad0ff6..ee48f5d 100644 --- a/profiles/desktop/default.nix +++ b/profiles/desktop/default.nix @@ -15,6 +15,8 @@ modules.localsend.enable = true; + modules.dev.enable = true; + modules.zsh.enable = true; modules.shell.defaultShell = "zsh";