Files

79 lines
1.5 KiB
Nix
Raw Permalink Normal View History

2025-11-15 23:45:33 +08:00
# Shell configuration (bash, zsh, fish) with integrations
2025-11-15 23:17:12 +08:00
{
inputs,
lib,
config,
pkgs,
...
}: {
# Bash configuration
programs.bash = {
enable = true;
enableCompletion = true;
};
# Zsh configuration
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
history = {
size = 10000;
path = "${config.home.homeDirectory}/.zsh_history";
};
};
2026-01-16 01:50:39 +08:00
# Fish configuration is in ./fish.nix
2025-11-15 23:17:12 +08:00
# Starship prompt (works with all shells)
programs.starship = {
enable = true;
settings = {
add_newline = true;
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
package.disabled = true;
};
};
# Zoxide (better cd)
programs.zoxide = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
enableFishIntegration = true;
};
# fzf (fuzzy finder)
programs.fzf = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
2026-01-18 23:17:17 +08:00
enableFishIntegration = false; # Using PatrickF1/fzf.fish plugin instead
2025-11-15 23:17:12 +08:00
};
# Eza (modern ls replacement)
programs.eza = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
enableFishIntegration = true;
git = true;
2026-01-09 01:41:57 +08:00
icons = "auto";
2025-11-15 23:17:12 +08:00
};
# Bat (better cat)
programs.bat = {
enable = true;
config = {
theme = "TwoDark";
pager = "less -FR";
};
};
}