{
  config,
  lib,
  pkgs,
  hostname,
  nix-meow,
  fetchFromGitHub,
  system,
  ...
}:
let
  cfg = config.modules.fish;
in
{
  options.modules.fish = {
    enable = lib.mkEnableOption "Fish";
  };
  config = lib.mkIf cfg.enable {
    home.shell.enableFishIntegration = true;
    home.packages = [ pkgs.nix-output-monitor ];
    programs = {
      fish = {
        enable = true;
        shellInit = ''
                    set -g theme_nerd_fonts yes
                    set -g theme_color_scheme nord
                    set -g theme_display_user yes
                    set -g fish_color_autosuggestion 6F6578
                    alias nik 'nix'
          					alias nos 'sudo echo; sudo nixos-rebuild switch --flake .#${hostname}-${system} --log-format internal-json -v &| nom --json'
                    alias hms 'home-manager switch --flake .#${hostname}-${system} --log-format internal-json -v &| nom --json'
        '';
        plugins = [
          {
            name = "bobthefish";
            src = pkgs.fetchFromGitHub {
              owner = "oh-my-fish";
              repo = "theme-bobthefish";
              rev = "e3b4d4eafc23516e35f162686f08a42edf844e40";
              sha256 = "sha256-cXOYvdn74H4rkMWSC7G6bT4wa9d3/3vRnKed2ixRnuA=";
            };
          }
        ];
      };
      eza = {
        enable = true;
        enableFishIntegration = true;
        icons = "auto";
        git = true;
        extraOptions = [ ];
      };
    };
  };
}
