blob: 5df3ca98220c173b19a1f79dab04b146256827d6 [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 Grey7c0a1e12023-02-26 12:57:07 +000011 extraGroups = [ "uinput" "input" "netdev" "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 Grey088952e2023-01-26 00:48:01 +000020 environment.persistence."/nix/persist".users.${username}.directories = [
21 "Documents"
22 "Pictures"
23 ];
24 environment.persistence."/large/persist".users.${username}.directories = [
25 "Code"
26 "Programs"
27 ];
Skyler Grey7bd7cb22022-09-01 23:41:57 +010028 sops.secrets.password = {
29 mode = "0400";
30 neededForUsers = true;
31 };
Skyler Greybcb2cb72022-08-21 07:24:35 +010032 };
Skyler Grey6aa7c262022-08-20 22:22:03 +010033}