nix-config/home-manager/sajenim/features/cli/zsh.nix
jasmine 6f64840eb1
feat: upgrade to NixOS 25.11
- Update nixpkgs and home-manager to 25.11 release
- Update flake dependencies
- Migrate git config to settings attribute
- Replace deprecated packages (mpc-cli -> mpc, vaapiIntel -> intel-vaapi-driver)
- Fix system references to use stdenv.hostPlatform.system
- Add crowdsec module overrides
- Remove android-udev-rules from fuchsia
- Configure SSH with enableDefaultConfig = false
- Update zsh dotDir to use config.xdg.configHome
2025-12-20 16:53:59 +08:00

56 lines
1.1 KiB
Nix

{pkgs, config, ...}: {
imports = [
./direnv.nix
./starship.nix
];
home.packages = with pkgs; [
fzf # command-line fuzzy finder
];
programs.zsh = {
enable = true;
# Enable extra features
autosuggestion = {
enable = true;
};
syntaxHighlighting = {
enable = true;
};
enableCompletion = true;
# Configuration directory
dotDir = "${config.xdg.configHome}/zsh";
shellAliases = {
# Single letter aliases
c = "clear";
v = "nvim";
# Double letter aliases
la = "ls -a";
ll = "ls -l";
};
# Install plugins
plugins = [
{ # vi(vim) mode for ZSH
name = "zsh-vi-mode";
src = "${pkgs.zsh-vi-mode}/share/zsh-vi-mode";
}
{ # replace zsh's completion with fzf
name = "fzf-tab";
src = "${pkgs.zsh-fzf-tab}/share/fzf-tab";
}
];
# Extra commands that should be added to '.zshrc'
initContent = ''
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
export PATH
'';
};
}