{
  pkgs,
  inputs,
  ...
}:
let
  nr = import "${inputs.self}/modules/nixos/features/packages/nr.nix" { inherit pkgs; };
  nrr = import "${inputs.self}/modules/nixos/features/packages/nrr.nix" { inherit pkgs; };
in
{
  home.stateVersion = "26.05";
  home.username = "imnyang";
  home.homeDirectory = "/home/imnyang";

  home.packages = [
    nr
    nrr
  ];

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

  programs.fish = {
    enable = true;

    shellAliases = {
      ".." = "cd ..";
      "..." = "cd ../..";

      ls = "eza";
      ll = "eza -l";
      la = "eza -a";
      lla = "eza -la";

      rebuild = "sudo nixos-rebuild switch --flake .#hako";
      update = "nix flake update";
      clean = "sudo nix-collect-garbage -d";
    };

    interactiveShellInit = ''
      set -g fish_greeting ""
      set -g fish_color_command blue
      set -g fish_color_error red
      set -g fish_color_param cyan
    '';

    functions = {
      fish_prompt = ''
        set_color purple
        echo -n (whoami)
        set_color normal
        echo -n "@"
        set_color green
        echo -n (hostname)
        set_color normal
        echo -n ":"
        set_color blue
        echo -n (prompt_pwd)
        set_color normal
        echo -n " > "
      '';
    };
  };
}
