summary refs log tree commit diff
path: root/nixos/modules/programs/nix-ld.nix
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2023-06-05 09:56:05 +0200
committerJörg Thalheim <joerg@thalheim.io>2023-06-15 09:47:25 +0200
commitb60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c (patch)
tree2673e0e734ca50165eda8b29b3603a9b7627ab34 /nixos/modules/programs/nix-ld.nix
parentf3ae11b096bfd522de2c1afb69a4e53b4a71d188 (diff)
downloadnixpkgs-b60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c.tar
nixpkgs-b60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c.tar.gz
nixpkgs-b60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c.tar.bz2
nixpkgs-b60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c.tar.lz
nixpkgs-b60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c.tar.xz
nixpkgs-b60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c.tar.zst
nixpkgs-b60f21e1356efe71a8f6f5688b4aa2fbbe13eb7c.zip
nixos/nix-ld: also include ld.so in nixos profile
Diffstat (limited to 'nixos/modules/programs/nix-ld.nix')
-rw-r--r--nixos/modules/programs/nix-ld.nix11
1 files changed, 5 insertions, 6 deletions
diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix
index f0c265f0e5a..9e1297479ed 100644
--- a/nixos/modules/programs/nix-ld.nix
+++ b/nixos/modules/programs/nix-ld.nix
@@ -2,15 +2,14 @@
 let
   cfg = config.programs.nix-ld;
 
-  # TODO make glibc here configurable?
-  nix-ld-so = pkgs.runCommand "ld.so" {} ''
-    ln -s "$(cat '${pkgs.stdenv.cc}/nix-support/dynamic-linker')" $out
-  '';
-
   nix-ld-libraries = pkgs.buildEnv {
     name = "lb-library-path";
     pathsToLink = [ "/lib" ];
     paths = map lib.getLib cfg.libraries;
+    # TODO make glibc here configurable?
+    postBuild = ''
+      ln -s ${pkgs.stdenv.cc.bintools.dynamicLinker} $out/share/nix-ld/lib/ld.so
+    '';
     extraPrefix = "/share/nix-ld";
     ignoreCollisions = true;
   };
@@ -60,7 +59,7 @@ in
     environment.pathsToLink = [ "/share/nix-ld" ];
 
     environment.variables = {
-      NIX_LD = toString nix-ld-so;
+      NIX_LD = "/run/current-system/sw/share/nix-ld/lib/ld.so";
       NIX_LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib";
     };
   };