blob: 59355c0cd39c94d79ce983a6e51e4725d2fd6043 [file] [log] [blame]
Skyler Grey252927a2022-10-18 22:18:15 +01001{ pkgs
2, config
3, username
4, ...
Skyler Greybcb2cb72022-08-21 07:24:35 +01005}: {
6 config = {
7 users.mutableUsers = false;
Skyler Grey6aa7c262022-08-20 22:22:03 +01008
Skyler Greybcb2cb72022-08-21 07:24:35 +01009 users.users.${username} = {
10 isNormalUser = true;
Skyler Grey252927a2022-10-18 22:18:15 +010011 extraGroups = [ "wheel" "kvm" "docker" "containerd" "dialout" "libvirtd" "video" "tty" config.users.groups.keys.name ];
Skyler Greybcb2cb72022-08-21 07:24:35 +010012 shell = pkgs.zsh;
Skyler Grey7bd7cb22022-09-01 23:41:57 +010013 passwordFile = config.sops.secrets.password.path;
Skyler Greybcb2cb72022-08-21 07:24:35 +010014 };
Skyler Greydbc5ac72022-09-09 08:17:02 +010015 users.users.root = {
16 passwordFile = config.sops.secrets.password.path;
17 # Important for physlock + sleep
18 };
Skyler Greybcb2cb72022-08-21 07:24:35 +010019
Skyler Grey252927a2022-10-18 22:18:15 +010020 environment.persistence."/nix/persist".users.${username}.directories = [ "Code" "Documents" "Pictures" ];
Skyler Grey7bd7cb22022-09-01 23:41:57 +010021 sops.secrets.password = {
22 mode = "0400";
23 neededForUsers = true;
24 };
Skyler Greybcb2cb72022-08-21 07:24:35 +010025 };
Skyler Grey6aa7c262022-08-20 22:22:03 +010026}