93 lines
2.4 KiB
Nix
Executable file
93 lines
2.4 KiB
Nix
Executable file
{ lib
|
||
, config
|
||
, pkgs
|
||
, ...
|
||
}:
|
||
|
||
let
|
||
cfg = config.custom.shells.fish;
|
||
in
|
||
{
|
||
options.custom.shells.fish = {
|
||
enable = lib.mkEnableOption "Whether to enable the Fish shell";
|
||
};
|
||
|
||
config = lib.mkIf cfg.enable {
|
||
programs = {
|
||
fish = {
|
||
enable = true;
|
||
|
||
# Disable annoying welcome message.
|
||
shellInit = ''
|
||
set fish_greeting
|
||
'';
|
||
|
||
shellAliases = {
|
||
e = "$EDITOR";
|
||
|
||
".." = "cd ..";
|
||
"..." = "cd ../..";
|
||
"...." = "cd ../../..";
|
||
"....." = "cd ../../../..";
|
||
"......" = "cd ../../../../..";
|
||
|
||
tree = "${pkgs.eza}/bin/eza --color=always --tree";
|
||
ls = "${pkgs.eza}/bin/eza --color=always --group-directories-first --icons";
|
||
ll = "${pkgs.eza}/bin/eza -la --icons --octal-permissions --group-directories-first";
|
||
l = "${pkgs.eza}/bin/eza --long --all --group --group-directories-first --icons";
|
||
lx = "${pkgs.eza}/bin/eza -lbhHigUmuSa@ --time-style=long-iso --git --color-scale --color=always --group-directories-first --icons";
|
||
|
||
cat = "${pkgs.bat}/bin/bat -Pp";
|
||
};
|
||
};
|
||
|
||
starship = {
|
||
enable = true;
|
||
|
||
settings = {
|
||
character = {
|
||
success_symbol = "[[](mauve) ❯](maroon)";
|
||
error_symbol = "[❯](red)";
|
||
vimcmd_symbol = "[❮](green)";
|
||
};
|
||
|
||
directory = {
|
||
truncation_length = 4;
|
||
style = "bold pink";
|
||
};
|
||
|
||
palette = "catppuccin_mocha";
|
||
|
||
palettes.catppuccin_mocha = {
|
||
rosewater = "#f5e0dc";
|
||
flamingo = "#f2cdcd";
|
||
pink = "#f5c2e7";
|
||
mauve = "#cba6f7";
|
||
red = "#f38ba8";
|
||
maroon = "#eba0ac";
|
||
peach = "#fab387";
|
||
yellow = "#f9e2af";
|
||
green = "#a6e3a1";
|
||
teal = "#94e2d5";
|
||
sky = "#89dceb";
|
||
sapphire = "#74c7ec";
|
||
blue = "#89b4fa";
|
||
lavender = "#b4befe";
|
||
text = "#cdd6f4";
|
||
subtext1 = "#bac2de";
|
||
subtext0 = "#a6adc8";
|
||
overlay2 = "#9399b2";
|
||
overlay1 = "#7f849c";
|
||
overlay0 = "#6c7086";
|
||
surface2 = "#585b70";
|
||
surface1 = "#45475a";
|
||
surface0 = "#313244";
|
||
base = "#1e1e2e";
|
||
mantle = "#181825";
|
||
crust = "#11111b";
|
||
};
|
||
};
|
||
};
|
||
};
|
||
};
|
||
}
|