diff options
Diffstat (limited to 'archetypes/tjkeller/user.nix')
-rw-r--r-- | archetypes/tjkeller/user.nix | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/archetypes/tjkeller/user.nix b/archetypes/tjkeller/user.nix new file mode 100644 index 0000000..2695549 --- /dev/null +++ b/archetypes/tjkeller/user.nix @@ -0,0 +1,22 @@ +{ lib, config, pkgs, userDetails, ... }: let + cfg = config._archetypes.tjkeller.setPasswords; + hashedPasswordFile = config.sops.secrets.hashed-root-password.path; +in { + options._archetypes.tjkeller.setPasswords = { + enable = lib.mkEnableOption "set users password. requires hashed root password from sops"; + }; + + config = lib.mkIf cfg.enable { + # Load hashed root password secret + sops.secrets.hashed-root-password = { + sopsFile = ./resources/secrets/hashed-root-password.yaml; + neededForUsers = true; + }; + + # Apply password file + users.users = { + root = { inherit hashedPasswordFile; }; + ${userDetails.username} = lib.mkIf config._archetypes.users.primary.enable { inherit hashedPasswordFile; }; + }; + }; +} |