{
  lib,
  config,
  pkgs,
  ...
}:
{
  users.mutableUsers = false;

  users.users.grimmauld = {
    isNormalUser = true;
    # shell = pkgs.xonsh;
    description = "grimmauld";

    openssh.authorizedKeys.keys = (import ./authorizedKeys.nix);
    extraGroups = lib.intersectLists (lib.attrNames config.users.groups) [
      "networkmanager"
      "kvm"
      "wheel"
      "docker"
      "input"
      "video"
      "lp"
      "scanner"
      "libvirt"
      "libvirt-qemu"
      "libvirtd"
      "pipewire"
      "gamemode"
      "systemd-journal"
      "i2c"
    ]; # only add to groups that actually exist on this system

    #    syncPaths = [
    #      { remote = "3d"; }
    #      { remote = "Pictures"; }
    #      { remote = "Documents"; }
    #      { remote = "Videos"; }
    #    ];

    hashedPassword = "$y$j9T$HmVEEG6w96IUWynzJsLjT/$MCNKOTOUkku4ybBJiXPIHasXEkNVe6Ouu5gRTl2ab00";

    packages = lib.optionals config.grimmShared.graphical (
      with pkgs;
      [
        vesktop
        obs-studio
        #        element-desktop
        #        ghidra
        rmview
      ]
    );
  };
}