e92c7aee31
- 新增 lib/ 辅助函数(mkNixos/mkDarwin/mkHome),消除硬编码 - 拆分 modules/ 为 nixos/darwin/shared 三层,支持跨平台共享 - 重构 home/ 为 shell/dev/theme 子模块,工具全部迁入用户级 - 深度配置 Tmux/FZF/Atuin/Bat/Eza/Btop/Lazygit/Starship - 添加 Catppuccin Mocha 统一主题、Nerd Fonts 声明式管理 - 新增 homeConfigurations 输出,支持非 NixOS 系统直装 - 新增 nix-darwin 输入,预留 macOS 扩展路径 - 新增 overlays/ 和 pkgs/ 自定义包基础设施 - 修正 nix-darwin URL(LnL7 → nix-darwin org)
73 lines
1.7 KiB
Nix
73 lines
1.7 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
programs.zsh = {
|
|
enable = true;
|
|
autocd = true;
|
|
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
plugins = [
|
|
"git" # git aliases (gst, gco, gp...)
|
|
"sudo" # double ESC → prepend sudo
|
|
"extract" # x file.tar.gz → auto extract
|
|
"direnv" # direnv hook
|
|
];
|
|
};
|
|
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
|
|
shellAliases = {
|
|
# Navigation
|
|
cd = "z";
|
|
cdi = "zi";
|
|
".." = "cd ..";
|
|
"..." = "cd ../..";
|
|
|
|
# File listing (eza)
|
|
ls = "eza --icons --group-directories-first";
|
|
ll = "eza -la --icons --git --group-directories-first";
|
|
la = "eza -a --icons --group-directories-first";
|
|
lt = "eza --tree --level=2 --icons";
|
|
|
|
# Tools
|
|
cat = "bat --paging=never";
|
|
rm = "trash-put";
|
|
lg = "lazygit";
|
|
vi = "nvim";
|
|
|
|
# Network
|
|
http = "xh";
|
|
|
|
# Nix shortcuts
|
|
rebuild = "sudo nixos-rebuild switch --flake ~/.config/nix-config";
|
|
update = "nix flake update --flake ~/.config/nix-config";
|
|
};
|
|
|
|
initExtra = ''
|
|
# ── Shell options ──
|
|
setopt INTERACTIVE_COMMENTS
|
|
setopt NO_BEEP
|
|
|
|
# ── PATH (manual go/bun global tools) ──
|
|
export PATH="$HOME/go/bin:$HOME/.bun/bin:$PATH"
|
|
|
|
# ── fzf-tab plugin ──
|
|
source ${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh
|
|
|
|
# ── mise ──
|
|
eval "$(mise activate zsh)"
|
|
|
|
# ── WSL clipboard ──
|
|
if [[ -n "$WSL_DISTRO_NAME" ]]; then
|
|
alias pbcopy="clip.exe"
|
|
alias pbpaste="powershell.exe -noprofile -c Get-Clipboard"
|
|
fi
|
|
|
|
# ── User-local overrides ──
|
|
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local
|
|
'';
|
|
};
|
|
}
|