diff options
Diffstat (limited to 'parts/users/seth/shell/fish.nix')
| -rw-r--r-- | parts/users/seth/shell/fish.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/parts/users/seth/shell/fish.nix b/parts/users/seth/shell/fish.nix new file mode 100644 index 0000000..7488b40 --- /dev/null +++ b/parts/users/seth/shell/fish.nix @@ -0,0 +1,52 @@ +{ + config, + pkgs, + ... +}: { + xdg.configFile."fish/themes" = { + recursive = true; + source = + pkgs.fetchFromGitHub + { + owner = "catppuccin"; + repo = "fish"; + rev = "b90966686068b5ebc9f80e5b90fdf8c02ee7a0ba"; + sha256 = "sha256-wQlYQyqklU/79K2OXRZXg5LvuIugK7vhHgpahpLFaOw="; + } + + "/themes"; + }; + + programs.fish = { + enable = true; + + interactiveShellInit = '' + set -l nixfile ${config.home.homeDirectory}/.nix-profile/etc/profile.d/nix.fish + if test -e $nixfile + source $nixfile + end + + fish_config theme choose "Catppuccin Mocha" + nix-your-shell fish | source + + abbr -a !! --position anywhere --function last_history_item + ''; + + functions = { + last_history_item.body = "echo $history[1]"; + }; + + shellAbbrs = { + nixgc = "sudo nix-collect-garbage -d && nix-collect-garbage -d"; + }; + + plugins = let + mkFishPlugins = builtins.map (plugin: { + name = plugin; + inherit (pkgs.fishPlugins.${plugin}) src; + }); + in + mkFishPlugins [ + "autopair" + ]; + }; +} |
