{ ... }: res: pkgs: super: with pkgs; { systemd = callPackage ./. { # break some cyclic dependencies util-linux = util-linuxMinimal; # provide a super minimal gnupg used for systemd-machined gnupg = gnupg.override { enableMinimal = true; guiSupport = false; }; }; systemdMinimal = systemd.override { pname = "systemd-minimal"; withAcl = false; withAnalyze = false; withApparmor = false; withAudit = false; withCompression = false; withCoredump = false; withCryptsetup = false; withRepart = false; withDocumentation = false; withEfi = false; withFido2 = false; withHostnamed = false; withHomed = false; withHwdb = false; withImportd = false; withIptables = false; withLibBPF = false; withLibidn2 = false; withLocaled = false; withLogind = false; withMachined = false; withNetworkd = false; withNss = false; withOomd = false; withPCRE2 = false; withPam = false; withPolkit = false; withPortabled = false; withRemote = false; withResolved = false; withShellCompletions = false; withSysupdate = false; withSysusers = false; withTimedated = false; withTimesyncd = false; withTpm2Tss = false; withUserDb = false; withUkify = false; withBootloader = false; withPasswordQuality = false; withVmspawn = false; withQrencode = false; }; systemdLibs = systemdMinimal.override { pname = "systemd-minimal-libs"; buildLibsOnly = true; }; # We do not want to include ukify in the normal systemd attribute as it # relies on Python at runtime. systemdUkify = systemd.override { withUkify = true; }; udev = if (with stdenv.hostPlatform; isLinux && isStatic) then libudev-zero else systemdLibs; }