37 lines
898 B
Nix
37 lines
898 B
Nix
{ lib, pkgs, config, ... }:
|
|
let
|
|
types = lib.types;
|
|
masters = config.maid.masters;
|
|
hm = config.maid.hm;
|
|
|
|
mkUser = name: {
|
|
enable = lib.mkEnableOption name;
|
|
override = lib.mkOption {
|
|
type = types.attrs;
|
|
default = {};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
options.maid.masters = {
|
|
nero = mkUser "nero";
|
|
};
|
|
|
|
config = lib.mkIf masters.nero.enable {
|
|
sops.secrets."users/nero/passwordHash" = {
|
|
neededForUsers = true;
|
|
sopsFile = ../../secrets/users.yaml;
|
|
};
|
|
|
|
users.users.nero = {
|
|
isNormalUser = true;
|
|
uid = 1000;
|
|
hashedPasswordFile = config.sops.secrets."users/nero/passwordHash".path;
|
|
extraGroups = [ "networkmanager" "docker" "wheel" "adbuser" ];
|
|
|
|
openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBaWnT7mpLERhm3zIWglNy094a7F7d7cpEImLZYwwWoS nero@lil-maid"
|
|
];
|
|
} // masters.nero.override;
|
|
};
|
|
}
|