1
Fork 0
satellite/home/features/cli/fish/default.nix
2023-12-02 00:46:56 +01:00

34 lines
1.1 KiB
Nix

{ pkgs, config, lib, ... }:
{
programs.fish = {
enable = true;
plugins =
let
plugins = with pkgs.fishPlugins; [
z # Jump to directories by typing "z <directory-name>"
grc # Adds color to a bunch of built in commands
done # Trigger a notification when long commands finish execution
puffer # Text expansion (i.e. expanding .... to ../../../)
sponge # Remove failed commands and whatnot from history
forgit # Git tui thingy? (I'm still trying this one out)
fzf-fish # Fuzzy finder for things like files
colored-man-pages # Self explainatory:)
];
in
# For some reason home-manager expects a slightly different format 🤔
lib.forEach plugins
(plugin: {
name = plugin.pname;
inherit (plugin) src;
});
interactiveShellInit = builtins.readFile ./config.fish;
};
satellite.persistence.at.state.apps.fish.directories = [
"${config.xdg.dataHome}/fish"
"${config.xdg.dataHome}/z" # The z fish plugin
];
}