From c948494342581e7c31880c1d3f2a3f9e618bc963 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Tue, 5 Mar 2013 17:03:05 +0100 Subject: [PATCH] Add /run/nss to LD_LIBRARY_PATH This fixes issues with glibc-binaries (getent for example) that can't find NSS modules that are not distributed with glibc. See this discussion: http://comments.gmane.org/gmane.linux.distributions.nixos/9940 --- modules/config/nsswitch.nix | 1 + modules/programs/bash/profile.sh | 2 +- modules/system/activation/activation-script.nix | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/config/nsswitch.nix b/modules/config/nsswitch.nix index 7e989c163e36..b9838945aa86 100644 --- a/modules/config/nsswitch.nix +++ b/modules/config/nsswitch.nix @@ -22,6 +22,7 @@ let { inherit list; path = makeLibraryPath list; + dir = pkgs.symlinkJoin "nss-modules" (map (p: "${p}/lib") list); }; }; diff --git a/modules/programs/bash/profile.sh b/modules/programs/bash/profile.sh index 5393a88d5ffe..83a2c6ffe9f3 100644 --- a/modules/programs/bash/profile.sh +++ b/modules/programs/bash/profile.sh @@ -13,7 +13,7 @@ export __ETC_PROFILE_DONE=1 # Initialise a bunch of environment variables. export LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive -export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib # !!! only set if needed +export LD_LIBRARY_PATH=/run/nss:/run/opengl-driver/lib:/run/opengl-driver-32/lib # !!! only set if needed export NIXPKGS_CONFIG=/etc/nix/nixpkgs-config.nix export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos:nixpkgs=/etc/nixos/nixpkgs:nixos=/etc/nixos/nixos:nixos-config=/etc/nixos/configuration.nix:services=/etc/nixos/services export PAGER="less -R" diff --git a/modules/system/activation/activation-script.nix b/modules/system/activation/activation-script.nix index dc0175632174..e4bc84b49c02 100644 --- a/modules/system/activation/activation-script.nix +++ b/modules/system/activation/activation-script.nix @@ -150,6 +150,11 @@ in ${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.runSize}" none /run ''; + system.activationScripts.nss = + '' + ln -sfn ${config.system.nssModules.dir} /run/nss + ''; + }; }