{
  username,
  pkgs,
  config,
  inputs,
  ...
}:
{
  imports = [
    ../../modules/home-manager.nix
    inputs.home-manager.nixosModules.home-manager
  ];

  home-manager.users.${username} = {
    imports = [
      ../../home/themes/catppuccin.nix
      ../../home
    ];

    dconf = {
      enable = true;
      settings."org/virt-manager/virt-manager/connections" = {
        autoconnect = [ "qemu:///system" ];
        uris = [ "qemu:///system" ];
      };
    };

    programs = {
      direnv = {
        enable = true;
        nix-direnv.enable = true;
      };

      waybar.enable = true;
      rofi.enable = true;
      vscode.enable = true;
      ssh.enable = true;
    };

    services = {
      blueman-applet.enable = true;
      syncthing.enable = true;
    };

    home = {
      stateVersion = config.system.stateVersion;
      inherit username;

      packages = with pkgs; [
        digikam
        fragments
        element-desktop
        libreoffice
        loupe
        seahorse
        gimp
        thunderbird
        keepassxc
        nautilus
        protonmail-bridge-gui
        varia
        signal-desktop
        foot

        # Proprietary
        postman
        mongodb-compass
        obsidian

        # CLI tools
        jhead
        fdupes
        exiftool
        sshfs
        lazygit
        swaybg
        wl-clipboard

        # custom
        nysh
        scripts.screenshot
        scripts.nixedit
        scripts.set-background
        scripts.rpaste
        scripts.nrun
        scripts.genswitch
        scripts.gentest
        scripts.editsym
        scripts.deployswitch
        scripts.deploytest
      ];
    };
  };
}