From 1f266cfa4048d5c71b39e3f458aa5f1cfa348579 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Thu, 24 Sep 2026 20:22:57 +0200 Subject: Enable nix-ld so uv-managed prebuilt binaries run on NixOS uv fetches prebuilt CPython interpreters and native wheel extensions that expect a standard glibc loader path, which doesn't exist on NixOS without nix-ld. Enables it unconditionally on every NixOS host and extends its library set with common CPython native-extension dependencies not already covered by nix-ld's own defaults. Co-Authored-By: Claude Sonnet 5 --- modules/nixos/common.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'modules') diff --git a/modules/nixos/common.nix b/modules/nixos/common.nix index 919e2f0..7a79d93 100644 --- a/modules/nixos/common.nix +++ b/modules/nixos/common.nix @@ -87,4 +87,19 @@ # tom's docker group membership is root-equivalent access, accepted here # for reliability over the rootless isolation guarantee. virtualisation.docker.enable = true; + + # Lets prebuilt, foreign dynamically-linked binaries run on NixOS - needed + # for uv-managed prebuilt Python interpreters and native wheel extensions, + # which expect a standard (non-NixOS) dynamic loader path. The libraries + # below extend nix-ld's own baseline (zlib, openssl, bzip2, etc.) with + # common CPython build dependencies it doesn't already include. + programs.nix-ld.enable = true; + programs.nix-ld.libraries = with pkgs; [ + ncurses + libffi + sqlite + readline + gdbm + expat + ]; } -- cgit v1.3