diff options
author | lassulus <git@lassul.us> | 2023-07-09 11:32:26 +0200 |
---|---|---|
committer | lassulus <git@lassul.us> | 2023-07-09 11:32:26 +0200 |
commit | 305b9e1deee5d9b2d48ff01f647471fdd9ee766c (patch) | |
tree | d428676c99fff445126a1d689e6a557dd9a78a91 /krebs/3modules/permown.nix | |
parent | 581665cc9f3c3e8e281ae0fc513fec903cc17b7c (diff) | |
parent | a4ace2b0b35331be531795a351401bc6ca8d827c (diff) |
Merge remote-tracking branch 'ni/master'
Diffstat (limited to 'krebs/3modules/permown.nix')
-rw-r--r-- | krebs/3modules/permown.nix | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/krebs/3modules/permown.nix b/krebs/3modules/permown.nix index 3ebbc44fe..ae8702978 100644 --- a/krebs/3modules/permown.nix +++ b/krebs/3modules/permown.nix @@ -1,4 +1,6 @@ -{ config, pkgs, lib, ... }: +{ config, pkgs, lib, ... }: let + slib = import ../../lib/pure.nix { inherit lib; }; +in with lib; { options.krebs.permown = mkOption { @@ -16,7 +18,7 @@ with lib; { group = mkOption { apply = x: if x == null then "" else x; default = null; - type = types.nullOr types.groupname; + type = types.nullOr slib.types.groupname; }; keepGoing = mkOption { default = false; @@ -28,15 +30,15 @@ with lib; { ''; }; owner = mkOption { - type = types.username; + type = slib.types.username; }; path = mkOption { default = config._module.args.name; - type = types.absolute-pathname; + type = slib.types.absolute-pathname; }; umask = mkOption { default = "0027"; - type = types.file-mode; + type = slib.types.file-mode; }; }; })); @@ -48,11 +50,11 @@ with lib; { system.activationScripts.permown = let mkdir = plan: /* sh */ '' - ${pkgs.coreutils}/bin/mkdir -p ${shell.escape plan.path} + ${pkgs.coreutils}/bin/mkdir -p ${slib.shell.escape plan.path} ''; in concatMapStrings mkdir plans; - systemd.services = genAttrs' plans (plan: let + systemd.services = slib.genAttrs' plans (plan: let continuable = command: if plan.keepGoing then /* sh */ "{ ${command}; } || :" |