diff options
author | Franck Cuny <franck@fcuny.net> | 2022-04-05 19:39:32 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-04-05 19:39:32 -0700 |
commit | b54c018a59d94bee698d16e2f7f58990fb5d1cec (patch) | |
tree | 0b955217cd46ea327a812ac0dea4f6f44b470a05 /modules/system/users | |
parent | refactor default packages to a module (diff) | |
download | world-b54c018a59d94bee698d16e2f7f58990fb5d1cec.tar.gz |
refactor users to a module
Diffstat (limited to 'modules/system/users')
-rw-r--r-- | modules/system/users/default.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/modules/system/users/default.nix b/modules/system/users/default.nix new file mode 100644 index 0000000..b39067c --- /dev/null +++ b/modules/system/users/default.nix @@ -0,0 +1,37 @@ +{ config, lib, pkgs, ... }: +let + groupExists = grp: builtins.hasAttr grp config.users.groups; + groupsIfExist = builtins.filter groupExists; +in { + # Users are managed through this configuration. If a user is added + # manually, it will be removed on system activation. + users.mutableUsers = false; + + users.groups.fcuny = { gid = 1000; }; + users.users.fcuny = { + isNormalUser = true; + uid = 1000; + group = "fcuny"; + home = "/home/fcuny"; + shell = pkgs.fish; + extraGroups = groupsIfExist [ + "docker" + "users" + "wheel" # `sudo` for the user. + ]; + hashedPassword = + "$6$i.z1brxtb44JAEco$fDD2Izl.zRR9vBCB2VBKPScChGw38EEl7QEiBTJ/EwgP3oSL0X3ZHq0PJ.RtqzBsWTPUjl4F3MKOBMhnaAPr6."; + openssh.authorizedKeys.keys = [ + # aptos + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIdlm/qoR/dnMjZhVSTtqFzkgN3Yf9eQ3pgKMiipg+dl" + # work + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINSWhXmnUplM+xltD0sYiJ6AsjkwHvbjTYLA7GHXHja9" + ]; + }; + + users.users.root = { + hashedPassword = null; + openssh.authorizedKeys.keys = + config.users.users.fcuny.openssh.authorizedKeys.keys; + }; +} |