diff options
author | Moritz Ulrich <moritz@tarn-vedra.de> | 2016-03-24 15:27:47 +0100 |
---|---|---|
committer | Moritz Ulrich <moritz@tarn-vedra.de> | 2016-04-08 14:50:20 +0200 |
commit | 88e2cc480f588be7514ea3953c42facd34e0f123 (patch) | |
tree | 2d99eacc09bbd5f900d30c4014cd8be9705e61d6 /nixos | |
parent | faa79e60cc6b049786c4814f47e38bcc5e273a81 (diff) | |
download | nixlib-88e2cc480f588be7514ea3953c42facd34e0f123.tar nixlib-88e2cc480f588be7514ea3953c42facd34e0f123.tar.gz nixlib-88e2cc480f588be7514ea3953c42facd34e0f123.tar.bz2 nixlib-88e2cc480f588be7514ea3953c42facd34e0f123.tar.lz nixlib-88e2cc480f588be7514ea3953c42facd34e0f123.tar.xz nixlib-88e2cc480f588be7514ea3953c42facd34e0f123.tar.zst nixlib-88e2cc480f588be7514ea3953c42facd34e0f123.zip |
systemd.generator-packages: Option to specify packages providing generators.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/system/boot/systemd.nix | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index a3c83521c354..244a4cd61f0f 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -472,6 +472,13 @@ in ''; }; + systemd.generator-packages = mkOption { + default = []; + type = types.listOf types.package; + example = literalExample "[ pkgs.systemd-cryptsetup-generator ]"; + description = "Packages providing systemd generators."; + }; + systemd.defaultUnit = mkOption { default = "multi-user.target"; type = types.str; @@ -628,7 +635,13 @@ in environment.systemPackages = [ systemd ]; - environment.etc = { + environment.etc = let + generators = (fold (p: attrs: let path = "${p}/lib/systemd/system-generators"; + in attrs // (mapAttrs' (name: _: nameValuePair name "${path}/${toString name}") + (builtins.readDir "${path}"))) + cfg.generators + cfg.generator-packages); + in ({ "systemd/system".source = generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants; "systemd/user".source = generateUnits "user" cfg.user.units upstreamUserUnits []; @@ -667,7 +680,7 @@ in ${concatStringsSep "\n" cfg.tmpfiles.rules} ''; - } // mapAttrs' (n: v: nameValuePair "systemd/system-generators/${n}" {"source"=v;}) cfg.generators; + } // mapAttrs' (n: v: nameValuePair "systemd/system-generators/${n}" {"source"=v;}) generators); system.activationScripts.systemd = stringAfter [ "groups" ] '' |