{
  pkgs,
  prefs,
  config,
  ...
}:

let
  inherit (prefs.users.hulk)
    username
    fullname
    isRoot
    homeDirectory
    preferredShell
    ;
  optional = pkgs.lib.lists.optionals;
in
{
  users.users.${username} = {
    isNormalUser = !isRoot;
    description = fullname;
    home = homeDirectory;
    extraGroups = [
      "wheel"
      "networkmanager"
      "plugdev"
      "adbusers"
    ] ++ optional config.modules.nordvpn.enable [ "nordvpn" ];
    ignoreShellProgramCheck = true;
    shell = pkgs.fish;
  };
}
