83 lines
1.6 KiB
Nix
83 lines
1.6 KiB
Nix
{
|
|
pkgs,
|
|
keys,
|
|
inputs,
|
|
...
|
|
}: let
|
|
extraGroups = [
|
|
"adbusers"
|
|
"audio"
|
|
"disk"
|
|
"docker"
|
|
"input"
|
|
"libvirtd"
|
|
"libvirtd-qemu"
|
|
"networkmanager"
|
|
"openrazer"
|
|
"plugdev"
|
|
"qemu-libvirtd"
|
|
"syncthing"
|
|
"systemd-journal"
|
|
"vboxusers"
|
|
"video"
|
|
];
|
|
extraGroupsWithWheel = extraGroups ++ ["wheel"];
|
|
userDefaults = {
|
|
group = "users";
|
|
isNormalUser = true;
|
|
createHome = true;
|
|
shell = pkgs.zsh;
|
|
};
|
|
in {
|
|
security.sudo.wheelNeedsPassword = false;
|
|
users.users = with keys; {
|
|
imalison =
|
|
userDefaults
|
|
// {
|
|
extraGroups = extraGroupsWithWheel;
|
|
name = "imalison";
|
|
openssh.authorizedKeys.keys = kanivanKeys;
|
|
};
|
|
kat =
|
|
userDefaults
|
|
// {
|
|
extraGroups = extraGroupsWithWheel;
|
|
name = "kat";
|
|
openssh.authorizedKeys.keys = kanivanKeys;
|
|
};
|
|
dean =
|
|
userDefaults
|
|
// {
|
|
extraGroups = extraGroupsWithWheel;
|
|
name = "dean";
|
|
openssh.authorizedKeys.keys = kanivanKeys ++ deanKeys;
|
|
};
|
|
alex =
|
|
userDefaults
|
|
// {
|
|
extraGroups = extraGroupsWithWheel;
|
|
name = "alex";
|
|
openssh.authorizedKeys.keys = kanivanKeys ++ alexKeys;
|
|
};
|
|
loewy =
|
|
userDefaults
|
|
// {
|
|
inherit extraGroups;
|
|
name = "loewy";
|
|
openssh.authorizedKeys.keys = kanivanKeys ++ loewyKeys;
|
|
};
|
|
ben =
|
|
userDefaults
|
|
// {
|
|
inherit extraGroups;
|
|
name = "ben";
|
|
openssh.authorizedKeys.keys = benKeys ++ kanivanKeys;
|
|
};
|
|
};
|
|
|
|
nix.sshServe = {
|
|
enable = true;
|
|
keys = keys.allKeys;
|
|
};
|
|
}
|