{ config, lib, pkgs, ... }:
{
  options.sysusers = lib.mkOption {
    type = lib.types.attrs;
  };

  config = {
    sysusers.main = "bun";

    users.users."${config.sysusers.main}" = {
      isNormalUser = true;
      createHome = true;
      hashedPassword = config.secrets.accPass.main;
      openssh.authorizedKeys.keyFiles = [
        ../../../../hosts/tower/id_ed25519.pub

        ../../../../hosts/pear/id_ed25519.pub
        ../../../../hosts/intuos/id_ed25519.pub
        ../../../../hosts/jupiter/id_ed25519.pub
        ../../../../hosts/redmond/id_ed25519.pub

        ../../../../hosts/midas/id_ed25519.pub
        ../../../../hosts/kitty/id_ed25519.pub
        ../../../../hosts/prophet/id_ed25519.pub
      ];
      openssh.authorizedKeys.keys = [ 
        "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKn+61Hd+nQ5tQgt4219+h/zsnej1j2dHU5uvC3k3Bnw Warden"
        "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJahAoF74BY6GCTsFkt1ADKaraFgJJozW1Y1aBTLK0j9 Pixel9"
      ];
      extraGroups = [
        "wheel"

        "audio"
        "video"
        "render"
        "input"
        "disk"

        "dialout"
        "rtkit"

        "kvm"
        "libvirtd"
        "qemu-libvirtd"

        "nginx"
        "minecraft"
        "nfsShare"
      ];
      uid = 1000;
      shell = pkgs.zsh;
    };

    home-manager.users."${config.sysusers.main}" = import ../../../home;
  };
}
