{
  config,
  lib,
  pkgs,
  inputs,
  ...
}: {
  # create blake user
  users = {
    users = {
      blake = {
        isNormalUser = true;
        extraGroups = ["wheel" "networkmanager" "docker" "media" "podman" "minecraft" "archives" "immich" ]; # Enable ‘sudo’ for the user.
        uid = 1000;
        shell = pkgs.zsh;
        group = "blake";
        hashedPasswordFile = config.sops.secrets."blake_passwd".path;
        openssh.authorizedKeys.keys = [
          "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBrNHm/n7BrA8Vz0Lsc3fZQ5QJOm01InFvrzEDuD4BoD me@blakedheld.xyz"
          "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBK0AGJfZGyqW8/krvQV+PL7axcDW/EnKyHy9M8wryQx klefki"
          "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBPdC9cCX8awvA19Ri65fvbYjZYe8X1Ef+nOZAIv92AS6u4SkJYqOvPYfqRHXORNDpbzjTV6nackyCKvV5EO4niv4MFIgdkEQwuVHcYX32/dOsWdDoeXBT/l2sFFM7JESwQ== blake@zygarde"
          "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOVsjLEbnW/KeFXogppi0AP6ZbCZpObu7zFeRV/aLkP9 blake@lugia"
        ];
      };
    };
    groups.blake = {gid = 1000;};
  };

  # define home-manager user
  home-manager = {
    extraSpecialArgs = {inherit inputs;};
    backupFileExtension = "bak";
    useUserPackages = true;
    useGlobalPkgs = false;
    users = {
      "blake" = import ./home.nix;
    };
  };

  nix.settings.trusted-users = ["blake"];
  programs.zsh.enable = true;


  sops.secrets = {
    "blake_passwd" =  { 
      owner = "root";
      group = "root";
      neededForUsers = true;
    };
    "klefki_auth_map" =  { 
      owner = "blake";
      group = "blake";
    };
  };
}
