diff options
| author | seth <[email protected]> | 2023-10-01 10:41:09 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-10-01 10:49:46 -0400 |
| commit | a8630322f77dbb7be4810099a42352b9278996a1 (patch) | |
| tree | b8df66a7e5b9d8c31b27a4a9b357ff7e4b9d418f /parts/modules/nixos/base/root.nix | |
| parent | 30f55e656d344e017f66ecbae8eb27cf13ba53bb (diff) | |
treewide!: flatten to parts/ layout
Diffstat (limited to 'parts/modules/nixos/base/root.nix')
| -rw-r--r-- | parts/modules/nixos/base/root.nix | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/parts/modules/nixos/base/root.nix b/parts/modules/nixos/base/root.nix new file mode 100644 index 0000000..ecc5203 --- /dev/null +++ b/parts/modules/nixos/base/root.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + ... +}: let + cfg = config.base.defaultRoot; + inherit (lib) mkDefault mkEnableOption mkIf; + + # yes this is a bad way to detect which option should be used (or exists) + # but i'm lazy. please do not copy this + passwordFile = + if lib.versionAtLeast config.system.stateVersion "23.11" + then "hashedPasswordFile" + else "passwordFile"; +in { + options.base.defaultRoot.enable = mkEnableOption "default root user"; + + config = mkIf cfg.enable { + users.users.root = { + home = mkDefault "/root"; + uid = mkDefault config.ids.uids.root; + group = mkDefault "root"; + "${passwordFile}" = mkDefault config.age.secrets.rootPassword.path; + }; + }; +} |
