From 0ce91c70d8ac574e1be70d3d31da2607c293bd5f Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Mon, 28 Jul 2025 08:36:19 +0200 Subject: [PATCH] systemd: disable pam in transitive dependencies if pam is disabled --- pkgs/os-specific/linux/systemd/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index d533b228f883..56fc32b909f9 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -203,6 +203,8 @@ let # $ curl -s https://api.github.com/repos/systemd/systemd/releases/latest | \ # jq '.created_at|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime' releaseTimestamp = "1734643670"; + + kbd' = if withPam then kbd else kbd.override { withVlock = false; }; in stdenv.mkDerivation (finalAttrs: { inherit pname version; @@ -396,7 +398,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ libxcrypt - libcap + (if withPam then libcap else libcap.override { usePam = false; }) libuuid linuxHeaders bashInteractive # for patch shebangs @@ -485,8 +487,8 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonOption "pkgconfigdatadir" "${placeholder "dev"}/share/pkgconfig") # Keyboard - (lib.mesonOption "loadkeys-path" "${kbd}/bin/loadkeys") - (lib.mesonOption "setfont-path" "${kbd}/bin/setfont") + (lib.mesonOption "loadkeys-path" "${kbd'}/bin/loadkeys") + (lib.mesonOption "setfont-path" "${kbd'}/bin/setfont") # SBAT (lib.mesonOption "sbat-distro" "nixos") @@ -923,9 +925,10 @@ stdenv.mkDerivation (finalAttrs: { withUtmp util-linux kmod - kbd ; + kbd = kbd'; + # Many TPM2-related units are only installed if this trio of features are # enabled. See https://github.com/systemd/systemd/blob/876ee10e0eb4bbb0920bdab7817a9f06cc34910f/units/meson.build#L521 withTpm2Units = withTpm2Tss && withBootloader && withOpenSSL;