about summary refs log tree commit diff
path: root/pkgs/tools/networking
diff options
context:
space:
mode:
authorSam Willcocks <sam@wlcx.cc>2024-05-01 14:45:54 +0100
committerSam Willcocks <sam@wlcx.cc>2024-05-16 17:42:17 +0100
commit54a3d44e24b8b966dbcc7608b2c4c8d7acbc83ae (patch)
tree43d42c4cb9460db72c5d6f2d4fa16a427f093993 /pkgs/tools/networking
parent4e1544bf0d98d64b63bdd71b44ebd1f75fa373ae (diff)
openssh: build with correct passwd path
Diffstat (limited to 'pkgs/tools/networking')
-rw-r--r--pkgs/tools/networking/openssh/common.nix7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix
index ac5d9afd486b0..5398644304dc3 100644
--- a/pkgs/tools/networking/openssh/common.nix
+++ b/pkgs/tools/networking/openssh/common.nix
@@ -32,6 +32,7 @@
 , withPAM ? stdenv.hostPlatform.isLinux
 , dsaKeysSupport ? false
 , linkOpenssl ? true
+, isNixos ? stdenv.hostPlatform.isLinux
 }:
 
 stdenv.mkDerivation {
@@ -75,6 +76,12 @@ stdenv.mkDerivation {
     unset LD
   '';
 
+  env = lib.optionalAttrs isNixos {
+    # openssh calls passwd to allow the user to reset an expired password, but nixos
+    # doesn't ship it at /usr/bin/passwd.
+    PATH_PASSWD_PROG = "/run/wrappers/bin/passwd";
+  };
+
   # I set --disable-strip because later we strip anyway. And it fails to strip
   # properly when cross building.
   configureFlags = [