Files
nixos-config/modules/home/zsh.nix
2025-10-23 23:52:24 -04:00

88 lines
2.3 KiB
Nix

{
pkgs,
...
}:
{
programs = {
direnv = {
enable = true;
enableZshIntegration = true;
};
starship = {
enable = true;
enableZshIntegration = true;
settings = {
add_newline = true;
format = pkgs.lib.concatStrings [
"[](#a3aed2)"
"[ 󱄅 ](bg:#a3aed2 fg:#090c0c)"
"[](bg:#769ff0 fg:#a3aed2)"
"$directory"
"[](fg:#769ff0 bg:#394260)"
"$git_branch"
"$git_status"
"[](fg:#394260 bg:#212736)"
"$nodejs"
"$rust"
"$golang"
"$php"
"[](fg:#212736)"
"$line_break"
"$character"
];
directory = {
style = "fg:#e3e5e5 bg:#769ff0";
format = "[ $path ]($style)";
truncation_length = 3;
truncation_symbol = "/";
substitutions = {
"Documents" = "󰈙 ";
"Downloads" = " ";
"Music" = " ";
"Pictures" = " ";
};
};
git_branch = {
symbol = "";
style = "bg:#394260";
format = "[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)";
};
git_status = {
style = "bg:#394260";
format = "[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)";
};
nodejs = {
symbol = "";
style = "bg:#212736";
format = "[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)";
};
rust = {
symbol = "";
style = "bg:#212736";
format = ''[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'';
};
golang = {
symbol = "";
style = "bg:#212736";
format = "[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)";
};
php = {
symbol = "";
style = "bg:#212736";
format = "[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)";
};
scan_timeout = 100;
};
};
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = {
stu = "ssh tamassno@stu.cs.jmu.edu";
};
};
};
}