main
 1{lib, ...}: {
 2  flake.modules.nixos.user-hpcesia = {config, ...}: {
 3    users.users.hpcesia = {
 4      description = "HPCesia";
 5      home = "/home/hpcesia";
 6      hashedPasswordFile = config.vaultix.secrets.user-hpcesia-hashed-password.path;
 7      isNormalUser = true;
 8      extraGroups =
 9        [
10          "hpcesia"
11          "users"
12          "networkmanager"
13          "wheel"
14          "nix-secrets-ssh-hosts"
15        ]
16        ++ (lib.optionals config.virtualisation.podman.enable ["podman"])
17        ++ (lib.optionals config.virtualisation.docker.enable ["docker"])
18        ++ (lib.optionals config.programs.gamemode.enable ["gamemode"]);
19      openssh.authorizedKeys.keys = [
20        "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFMKaGC2I3an4AJDeWzVx5vhm63+kxi6zJNdh7yEp6CK hpcesia@kevin"
21      ];
22    };
23
24    users.groups.hpcesia = {};
25
26    users.groups.nix-secrets-ssh-hosts = {};
27
28    vaultix.secrets.user-hpcesia-hashed-password.file = ./hashed-password.age;
29  };
30
31  flake.modules.homeManager.user-hpcesia = _: {
32    home.username = "hpcesia";
33    home.homeDirectory = "/home/hpcesia";
34  };
35}