initial commit
This commit is contained in:
75
users/modules/shell/fish.nix
Normal file
75
users/modules/shell/fish.nix
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.modules.fish;
|
||||
in {
|
||||
options.modules.fish = {
|
||||
enable = lib.mkEnableOption "enables fish";
|
||||
abbrs = lib.mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {};
|
||||
example = {
|
||||
cp = "cp -i";
|
||||
lns = "ln -si";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAbbrs = cfg.abbrs;
|
||||
preferAbbrs = true;
|
||||
shellInit = ''
|
||||
function fish_command_not_found
|
||||
__fish_default_command_not_found_handler $argv
|
||||
end
|
||||
'';
|
||||
plugins = [
|
||||
{
|
||||
name = "bass";
|
||||
inherit (pkgs.fishPlugins.bass) src;
|
||||
# src = pkgs.fishPlugins.bass.src;
|
||||
}
|
||||
{
|
||||
name = "colored-man-pages";
|
||||
inherit (pkgs.fishPlugins.colored-man-pages) src;
|
||||
}
|
||||
{
|
||||
name = "done";
|
||||
inherit (pkgs.fishPlugins.done) src;
|
||||
}
|
||||
{
|
||||
name = "fzf";
|
||||
inherit (pkgs.fishPlugins.fzf) src;
|
||||
}
|
||||
{
|
||||
name = "pisces";
|
||||
inherit (pkgs.fishPlugins.pisces) src;
|
||||
}
|
||||
{
|
||||
name = "getopts.fish";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "jorgebucaran";
|
||||
repo = "getopts.fish";
|
||||
rev = "4b74206725c3e11d739675dc2bb84c77d893e901";
|
||||
sha256 = "9hRFBmjrCgIUNHuOJZvOufyLsfreJfkeS6XDcCPesvw=";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "replay.fish";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "jorgebucaran";
|
||||
repo = "replay.fish";
|
||||
rev = "d2ecacd3fe7126e822ce8918389f3ad93b14c86c";
|
||||
sha256 = "TzQ97h9tBRUg+A7DSKeTBWLQuThicbu19DHMwkmUXdg=";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user