{ lib, config, pkgs, namespace, ... }: let inherit (lib) mkEnableOption mkIf; cfg = config.${namespace}.cli-apps.fish; in { options.${namespace}.cli-apps.fish = { enable = mkEnableOption "fish"; }; config = mkIf cfg.enable { programs.fish = { enable = true; shellAliases = { hm-update = "home-manager switch --flake ~/Documents/nix-config/ -b bk &| nom"; nix-update = "sudo sh -c 'nixos-rebuild --log-format internal-json -v switch --flake /home/philipp/Documents/nix-config/ |& nom --json'"; cd = "z"; }; plugins = [ { name = "fzf"; src = pkgs.fishPlugins.fzf.src; } { name = "hydro"; src = pkgs.fishPlugins.hydro.src; } { name = "sponge"; src = pkgs.fishPlugins.sponge.src; } { name = "z"; src = pkgs.fishPlugins.z.src; } ]; }; programs.zoxide = { enable = true; enableFishIntegration = true; }; }; }