Files
nixos-config/modules/home/zsh.nix

110 lines
2.9 KiB
Nix
Raw Normal View History

2025-09-13 02:38:36 -04:00
{
2025-10-16 15:20:59 -04:00
pkgs,
2025-09-13 02:38:36 -04:00
...
}:
{
programs = {
direnv = {
enable = true;
enableZshIntegration = true;
};
2025-11-16 01:17:54 -05:00
fastfetch = {
enable = true;
};
2025-10-16 15:20:59 -04:00
starship = {
enable = true;
enableZshIntegration = true;
settings = {
add_newline = true;
format = pkgs.lib.concatStrings [
2025-11-22 18:47:06 -05:00
"[](fg:base02)"
"[ 󱄅 ](bg:base02 fg:base07)"
"[](bg:base07 fg:base02)"
"[( $username(@$hostname) )](bg:base07 fg:base02)"
"[](bg:red fg:base07)"
"[ $directory ](bg:red fg:base02)"
"[](bg:cyan fg:red)"
"[( $git_branch $git_status )](bg:cyan fg:base02)"
"[](fg:cyan bg:blue)"
"[(( $golang)( $nodejs)( $rust)( $python) )](bg:blue fg:base02)"
"[](fg:blue)"
2025-10-16 15:20:59 -04:00
"$line_break"
2025-11-22 18:47:06 -05:00
"[](fg:base02)"
2025-10-16 15:20:59 -04:00
"$character"
];
2025-11-22 18:47:06 -05:00
username = {
show_always = true;
style_user = "none";
style_root = "none";
format = "[$user]($style)";
};
hostname = {
style = "none";
format = "[$hostname]($style)";
ssh_only = false;
};
character = {
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)";
};
2025-10-16 15:20:59 -04:00
directory = {
2025-11-22 18:47:06 -05:00
style = "none";
format = "[$path]($style)";
2025-10-16 15:20:59 -04:00
truncation_length = 3;
truncation_symbol = "/";
substitutions = {
"Documents" = "󰈙 ";
"Downloads" = " ";
"Music" = " ";
"Pictures" = " ";
};
};
git_branch = {
symbol = "";
2025-11-22 18:47:06 -05:00
style = "none";
format = "[$symbol $branch]($style)";
2025-10-16 15:20:59 -04:00
};
git_status = {
2025-11-22 18:47:06 -05:00
style = "none";
format = "[$all_status$ahead_behind]($style)";
};
golang = {
symbol = "";
style = "none";
format = "[$symbol( $version)]($style)";
2025-10-16 15:20:59 -04:00
};
nodejs = {
symbol = "";
2025-11-22 18:47:06 -05:00
style = "none";
format = "[$symbol( $version)]($style)";
};
python = {
symbol = "";
style = "none";
format = "[$symbol( $version)( \\($virtualenv\\))]($style)";
2025-10-16 15:20:59 -04:00
};
rust = {
symbol = "";
2025-11-22 18:47:06 -05:00
style = "none";
format = "[$symbol( $version)]($style)";
2025-10-16 15:20:59 -04:00
};
scan_timeout = 100;
};
};
2025-09-13 02:38:36 -04:00
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
2025-10-23 23:52:24 -04:00
shellAliases = {
2025-10-28 23:56:03 -04:00
stu = "ssh stu";
2025-11-16 01:17:54 -05:00
ff = "fastfetch";
};
2025-09-13 02:38:36 -04:00
};
};
}