216 lines
5.4 KiB
Nix
216 lines
5.4 KiB
Nix
{pkgs, ...}: {
|
||
programs.fish = {
|
||
enable = true;
|
||
interactiveShellInit = "
|
||
nix-your-shell fish | source
|
||
";
|
||
|
||
shellAliases = {
|
||
cd = "z";
|
||
cat = "bat";
|
||
};
|
||
};
|
||
|
||
programs.zoxide = {
|
||
enable = true;
|
||
enableFishIntegration = true;
|
||
options = [];
|
||
};
|
||
|
||
programs.bat = {
|
||
enable = true;
|
||
};
|
||
|
||
programs.starship = {
|
||
enable = true;
|
||
enableFishIntegration = true;
|
||
settings = {
|
||
format = "[](red)$os$username[](bg:peach fg:red)$directory[](bg:yellow fg:peach)$git_branch$git_status[](fg:yellow bg:green)$c$rust$golang$nodejs$php$java$kotlin$haskell$python[](fg:green bg:sapphire)$conda[](fg:sapphire bg:lavender)$time[ ](fg:lavender)$cmd_duration$line_break$character";
|
||
right_format = "$custom";
|
||
|
||
custom.mommy = {
|
||
command = "${pkgs.mommy}/bin/mommy -1 -s $status";
|
||
when = "true";
|
||
};
|
||
|
||
palette = "catppuccin_mocha";
|
||
os = {
|
||
disable = false;
|
||
style = "bg:red fg:crust";
|
||
|
||
symbols = {
|
||
NixOS = "";
|
||
};
|
||
};
|
||
|
||
username = {
|
||
show_always = true;
|
||
style_user = "bg:red fg:crust";
|
||
style_root = "bg:red fg:crust";
|
||
format = "[ $user]($style)";
|
||
};
|
||
|
||
directory = {
|
||
style = "bg:peach fg:crust";
|
||
format = "[ $path ]($style)";
|
||
truncation_length = 3;
|
||
truncation_symbol = "…/";
|
||
|
||
substitutions = {
|
||
Documents = " ";
|
||
Downloads = " ";
|
||
Music = " ";
|
||
Pictures = " ";
|
||
Developer = " ";
|
||
};
|
||
};
|
||
|
||
git_branch = {
|
||
symbol = "";
|
||
style = "bg:yellow";
|
||
format = "[[ $symbol $branch ](fg:crust bg:yellow)]($style)";
|
||
};
|
||
|
||
git_status = {
|
||
style = "bg:yellow";
|
||
format = "[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)";
|
||
};
|
||
|
||
nodejs = {
|
||
symbol = "";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
c = {
|
||
symbol = " ";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
rust = {
|
||
symbol = "";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
golang = {
|
||
symbol = "";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
php = {
|
||
symbol = "";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
java = {
|
||
symbol = " ";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
kotlin = {
|
||
symbol = "";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
haskell = {
|
||
symbol = "";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
python = {
|
||
symbol = "";
|
||
style = "bg:green";
|
||
format = "[[ $symbol( $version)(\\(#$virtualenv\\)) ](fg:crust bg:green)]($style)";
|
||
};
|
||
|
||
docker_context = {
|
||
symbol = "";
|
||
style = "bg:sapphire";
|
||
format = "[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)";
|
||
};
|
||
|
||
conda = {
|
||
symbol = " ";
|
||
style = "fg:crust bg:sapphire";
|
||
format = "[$symbol$environment ]($style)";
|
||
ignore_base = false;
|
||
};
|
||
|
||
time = {
|
||
disabled = false;
|
||
time_format = "%R";
|
||
style = "bg:lavender";
|
||
format = "[[ $time ](fg:crust bg:lavender)]($style)";
|
||
};
|
||
|
||
line_break = {
|
||
disabled = true;
|
||
};
|
||
|
||
character = {
|
||
disabled = false;
|
||
success_symbol = "[❯](bold fg:green)";
|
||
error_symbol = "[❯](bold fg:red)";
|
||
vimcmd_symbol = "[❮](bold fg:green)";
|
||
vimcmd_replace_one_symbol = "[❮](bold fg:lavender)";
|
||
vimcmd_replace_symbol = "[❮](bold fg:lavender)";
|
||
vimcmd_visual_symbol = "[❮](bold fg:yellow)";
|
||
};
|
||
|
||
cmd_duration = {
|
||
show_milliseconds = true;
|
||
format = " in $duration ";
|
||
style = "bg:lavender";
|
||
disabled = false;
|
||
show_notifications = true;
|
||
min_time_to_notify = 45000;
|
||
};
|
||
|
||
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";
|
||
};
|
||
};
|
||
};
|
||
};
|
||
|
||
home.file.".config/mommy/config.sh".text = ''
|
||
MOMMY_SWEETIE="toaster, boy"
|
||
MOMMY_COLOR="lolcat"
|
||
MOMMY_FORBIDDEN_WORDS="fat/,"
|
||
'';
|
||
|
||
programs.kitty.shellIntegration.enableFishIntegration = true;
|
||
} |