{ 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; }; }