blob: 3efd2703ab24b4ea69346bf9133533bda39fc9ee [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 Grey4e5f5622023-05-03 20:33:32 +000020 environment.persistence."/large/persist".users.${username}.directories = [
Skyler Grey088952e2023-01-26 00:48:01 +000021 "Documents"
22 "Pictures"
Skyler Grey088952e2023-01-26 00:48:01 +000023 "Code"
24 "Programs"
25 ];
Skyler Grey7bd7cb22022-09-01 23:41:57 +010026 sops.secrets.password = {
27 mode = "0400";
28 neededForUsers = true;
29 };
Skyler Greybcb2cb72022-08-21 07:24:35 +010030 };
Skyler Grey6aa7c262022-08-20 22:22:03 +010031}