{ pkgs, ... }:
{
  programs.fish = {
    enable = true;
    generateCompletions = true;
    shellAliases = {
      ls = "eza -lh";
      ip = "ip --color=auto";
      nano = "nvim";
      cd = "z";
      cat = "bat";

      # Aliases for my nixos workflow
      nixos-switch = "sudo nixos-rebuild switch --flake ~/nixconf &| nom";
      home-switch = "home-manager switch --flake ~/nixconf &| nom";
      server-switch = "nixos-rebuild switch --flake ~/nixconf#biggerpi --target-host blue@biggerpi --use-remote-sudo &| nom";
    };
    shellInit = "
      set --global --export theme_virtual_env_prompt_enabled no
      set --global --export VIRTUAL_ENV_DISABLE_PROMPT 1
      set --global --export theme_env_packages_hide binutils-wrapper hyprland-qtutils pciutils pkgconf-wrapper
    ";
    plugins = [
      {
        name = "agnoster";
        src = pkgs.fetchFromGitHub {
          owner = "IBeTheBlueCat";
          repo = "theme-agnoster";
          rev = "c6b1e6b5671f75d30d2d81a11963ef445e78d8e6";
          hash = "sha256-hO5ow+7nBqFeXWj8sjd6whuSYqsKYCpvcINU6zpAzsU=";
        };
      }
    ];
  };
}