nichts/modules/programs/cli/fish.nix

70 lines
1.5 KiB
Nix
Raw Normal View History

2024-05-22 14:29:45 +02:00
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.modules.programs.fish;
inherit (config.modules.other.system) username;
2024-04-20 22:59:53 +02:00
in {
options.modules.programs.fish = {
enable = mkEnableOption "fish";
extraAliases = mkOption {
type = types.attrs;
description = "extra shell aliases";
2024-05-22 14:29:45 +02:00
default = {};
2024-04-20 22:59:53 +02:00
};
};
2024-04-20 22:59:53 +02:00
config = mkIf cfg.enable {
2024-11-01 15:54:20 +01:00
programs.fish.enable = false;
2024-04-20 22:59:53 +02:00
# homix.".config/fish/config.fish".source = fishinit;
2024-09-09 21:33:14 +02:00
# users.users.${username}.shell = pkgs.fish;
2024-04-20 22:59:53 +02:00
environment = {
2024-09-09 21:33:14 +02:00
# shells = [pkgs.fish];
# pathsToLink = ["/share/fish"];
};
2024-04-20 22:59:53 +02:00
home-manager.users.${username} = {
programs = {
fish = {
enable = true;
interactiveShellInit = "set fish_greeting";
plugins = [
{
name = "sponge";
inherit (pkgs.fishPlugins.sponge) src;
}
{
name = "done";
inherit (pkgs.fishPlugins.done) src;
}
2024-07-22 22:46:11 +02:00
{
name = "puffer";
inherit (pkgs.fishPlugins.puffer) src;
}
];
2024-08-13 11:48:25 +02:00
shellAbbrs = {
c = "clear";
cc = "cd ~ && clear";
mv = "mv -iv";
rm = "trash -v";
ls = "eza ";
l = "eza -a ";
la = "eza -lha --git";
lg = "lazygit";
cd = "z";
v = "nvim";
h = "hx";
k = "kak";
e = "emacs";
};
};
};
2024-04-20 22:59:53 +02:00
};
};
2024-04-20 22:59:53 +02:00
}