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)
52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
programs.tmux = {
|
|
enable = true;
|
|
baseIndex = 1;
|
|
escapeTime = 10;
|
|
historyLimit = 50000;
|
|
keyMode = "vi";
|
|
mouse = true;
|
|
terminal = "tmux-256color";
|
|
prefix = "C-a";
|
|
|
|
plugins = with pkgs.tmuxPlugins; [
|
|
sensible
|
|
vim-tmux-navigator
|
|
yank
|
|
];
|
|
|
|
extraConfig = ''
|
|
# ── True color support ──
|
|
set -ag terminal-overrides ",xterm-256color:RGB"
|
|
|
|
# ── Split panes ──
|
|
bind v split-window -h -c "#{pane_current_path}"
|
|
bind s split-window -v -c "#{pane_current_path}"
|
|
unbind '"'
|
|
unbind %
|
|
|
|
# ── New window in current path ──
|
|
bind c new-window -c "#{pane_current_path}"
|
|
|
|
# ── Reload config ──
|
|
bind r source-file ~/.config/tmux/tmux.conf \; display "Config reloaded!"
|
|
|
|
# ── Resize panes ──
|
|
bind -r H resize-pane -L 5
|
|
bind -r J resize-pane -D 5
|
|
bind -r K resize-pane -U 5
|
|
bind -r L resize-pane -R 5
|
|
|
|
# ── Status bar ──
|
|
set -g status-position top
|
|
set -g renumber-windows on
|
|
|
|
# ── Copy mode vim bindings ──
|
|
bind -T copy-mode-vi v send-keys -X begin-selection
|
|
bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
|
'';
|
|
};
|
|
}
|