{
  config,
  pkgs,
  inputs,
  ...
}:
{
  xdg.enable = true;
  # gtk.enable = true;

  home.stateVersion = "25.05";
  home.username = "imnyang";
  home.homeDirectory = "/home/imnyang";
  home.packages = import ./packages.nix { inherit pkgs inputs; };

  home.sessionVariables = {
    EDITOR = "nvim";
    VISUAL = "nvim";
  };

  programs.ssh = {
    enable = true;
    matchBlocks = {
      "*" = {
        forwardAgent = false;
        identityAgent = "~/.1password/agent.sock";
        setEnv = {
          TERM = "xterm-256color";
        };
        extraOptions = {
          ServerAliveInterval = "0";
          ServerAliveCountMax = "3";
          Compression = "no";
          AddKeysToAgent = "no";
          HashKnownHosts = "no";
          UserKnownHostsFile = "~/.ssh/known_hosts";
          ControlMaster = "no";
          ControlPath = "~/.ssh/master-%r@%n:%p";
          ControlPersist = "no";
        };
      };
    };
  };

  xdg.configFile."fontconfig/conf.d/10-hm-fonts.conf".force = true;

  imports = [
    "${inputs.self}/modules/home/git.nix"
    "${inputs.self}/modules/home/neovim.nix"
    "${inputs.self}/modules/home/spicetify.nix"
    "${inputs.self}/modules/home/ghostty.nix"
    "${inputs.self}/modules/home/zed.nix"
    "${inputs.self}/modules/home/vicinae.nix"
    ./config/shell.nix
    ./config/plasma.nix
    "${inputs.self}/modules/home/discord/linux.nix"
    "${inputs.self}/modules/home/obs-studio.nix"
    "${inputs.self}/modules/home/vscode.nix"
    "${inputs.self}/modules/home/ciscopackettracer.nix"
  ];
}
