refactor: 重构为多平台多用户架构,全面提升终端体验
- 新增 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)
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
{ 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
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user