/ modules / programs / fish.nix
fish.nix
 1  {
 2    pkgs,
 3    lib,
 4    config,
 5    ...
 6  }: let
 7    cfg = config.programs.fish;
 8    inherit (lib) mkEnableOption mkIf;
 9  in {
10    options.programs.fish = {
11      enable = mkEnableOption "fish";
12    };
13  
14    config = mkIf cfg.enable {
15      os = {
16        users.defaultUserShell = pkgs.fish;
17        programs.fish.enable = true;
18      };
19  
20      hm = {
21        programs.starship.enableFishIntegration = true;
22  
23        programs.zellij = {
24          enable = true;
25          settings = {
26            default_shell = "fish";
27            # theme = "default";
28            simplified_ui = true;
29            pane_frames = false;
30            default_layout = "compact";
31          };
32        };
33  
34        programs.eza = {
35          enable = true;
36          # enableAliases = true;
37          icons = true;
38        };
39  
40        programs.fish = {
41          enable = true;
42          interactiveShellInit = ''
43            set fish_greeting # Disable greeting
44  
45          '';
46        };
47      };
48    };
49  }