{ pkgs, ... }:

{
  users = {
    # set user's default shell system-wide
    defaultUserShell = pkgs.bash;

    # set user groups
    groups = {
      xahlee = { };
    };

    # Define a user account. Don't forget to set a password with ‘passwd’.
    users.xahlee = {
      name = "xahlee";
      home = "/home/xahlee";
      isNormalUser = true;
      description = "Xah Lee";
      shell = pkgs.zsh;
      # the hashed password with salt is generated by run `mkpasswd`.
      hashedPassword = "$y$j9T$k2Uh2iPXvyHB6f4aS0w3O1$T8iSQL2RFO0gEYi8Sx0R1teqTeGA3oFeoYoJ0dfZHT1";
      extraGroups = [ 
        "xahlee" 
        "users"
        "networkmanager" 
        "wheel"
        "docker"
        "dialout"
        "video"
        "audio"
      ];
    };
  };
}