summary refs log tree commit diff
path: root/pkgs/tools/networking/openssh/common.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking/openssh/common.nix')
-rw-r--r--pkgs/tools/networking/openssh/common.nix5
1 files changed, 3 insertions, 2 deletions
diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix
index d29f45e8af2..2b6ea743fec 100644
--- a/pkgs/tools/networking/openssh/common.nix
+++ b/pkgs/tools/networking/openssh/common.nix
@@ -28,6 +28,7 @@
 , hostname
 , nixosTests
 , withFIDO ? stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isMusl
+, withPAM ? stdenv.hostPlatform.isLinux
 , linkOpenssl ? true
 }:
 
@@ -71,7 +72,7 @@ stdenv.mkDerivation {
   buildInputs = [ zlib openssl libedit ]
     ++ lib.optional withFIDO libfido2
     ++ lib.optional withKerberos libkrb5
-    ++ lib.optional stdenv.isLinux pam;
+    ++ lib.optional withPAM pam;
 
   preConfigure = ''
     # Setting LD causes `configure' and `make' to disagree about which linker
@@ -88,7 +89,7 @@ stdenv.mkDerivation {
     "--with-mantype=man"
     "--with-libedit=yes"
     "--disable-strip"
-    (if stdenv.isLinux then "--with-pam" else "--without-pam")
+    (lib.withFeature withPAM "pam")
   ] ++ lib.optional (etcDir != null) "--sysconfdir=${etcDir}"
     ++ lib.optional withFIDO "--with-security-key-builtin=yes"
     ++ lib.optional withKerberos (assert libkrb5 != null; "--with-kerberos5=${libkrb5}")