文件管理器选择

选型结论

  • Dolphin 属单窗格 GUI那一档:视图文字只跟全局字体,Ctrl+滚轮只缩放图标(上游设计,Nix 层没有开关),称不上更专业。
  • 真正技术专业的两类:GUI 双窗格(Krusader / Double Commander / far2l / muCommander / Worker / Xfe)与 TUI(yazi / vifm / nnn / mc / ranger / lf / joshuto / xplr / clifm / broot / superfile / walk)。
  • 已做成模块:/etc/nixos/modules/desktop/explorer/ 26 个自包含文件,import 即启用、任意组合可同时开。

Dolphin 的具体短板(实测)

  • 三个视图模式各有一份配置,键为 UseSystemFont / ViewFont / IconSize(实测其包内 kcfg)→ 只能「定死一个字体」,没有「滚轮缩放文字」这类开关。
  • 缩放动作(zoomLevel)只作用于图标大小。
  • Plasma 6 里 Ctrl+滚轮根本绑不了其它动作:实测 KCM 列表无鼠标手势模块,KWin 快捷键也不接受「修饰键+滚轮」。
  • 替代做法(都已落地):① dolphinrc 里 UseSystemFont=false + ViewFont 给列表定字号;② 全局字体缩放脚本 ~/.local/bin/kde-font-zoom up|down|reset(实测即时生效:10pt→13pt 截图对比 17.9% 像素变化)。
  • 顺带修的系统层问题:X11 下「显示缩放」滑块对原生 Qt 应用无效(Wayland 专属);Qt 字体 DPI 实际来自 XSETTINGS 的 Xft/DPI,而本机 xsettingsd 配置里缺该项 → 已补 Xft/DPI 122880(=120dpi;备份在 ~/.hermes/cache/scratch/xsettingsd.conf.bak-*)。

候选对比(nixpkgs 26.05 实测求值)

GUI 双窗格 / 专业向

包版本技术特性
krusader2.9.0root 模式、目录同步、传输队列、内建归档、批量重命名、校验和、挂载管理;有 zoom_in / zoom_out 动作
doublecmd1.2.4Total Commander 克隆:插件(WCX/WDX/WFX)、FTP/SFTP、队列、校验和
far2l2.7.0Far Manager 移植:插件/宏,可独立 GUI 也可跑 TTY
mucommander1.5.2Java 双窗格,多协议(FTP/SFTP/S3/HDFS)
worker5.2.2老牌双窗格 + 可编程按钮栏
xfe2.1.6极轻双窗格,无重依赖

GUI 单窗格(与 Dolphin 同一路数)

包版本定位
dolphinkdePackages.dolphin 26.04.3KDE 默认;Plasma 自带
nemo6.6.4Cinnamon;插件与可配置度高
caja1.28.0MATE;保留传统菜单/工具栏
thunar4.20.9XFCE;内建批量重命名 + 自定义动作
nautilus50.3.1GNOME Files;搜索与远程(gvfs)强
pcmanfm1.4.0GTK2 轻量
pcmanfm-qt2.4.0LXQt 轻量
fff2.2纯 bash 终端 FM,零依赖

TUI(字体归终端管)

包版本要点
yazi26.5.6Rust 异步;预览与插件强,现代首选
mc4.8.33经典双窗格;VFS 能直接进 tar/zip/ftp
ranger1.9.4三栏 + rifle 打开规则
nnn5.2极快;插件体系;会话与磁盘用量
lf41Go 单二进制;keymap/命令可脚本化
vifm0.14.3完整 vim 式键位与命令,配置能力最强
joshuto0.9.9Rust,ranger 风格
xplr1.1.0极简核心 + Lua 插件,可组合
clifm1.27.1无全屏 UI,纯命令行交互
broot1.56.4树形浏览 + 模糊搜索;偏「找」不偏「管」
superfile1.3.3现代 TUI 双窗格,界面友好
walk1.13.0轻量终端导航器

不在 nixpkgs:spacefm(已移除)、konqueror(已移除)、sunflower、gentoo(FM)、emelfm2、doublecmd-qt。

模块化配置:modules/desktop/explorer(26 个文件)

  • 每个文件自包含(包 + 必要系统开关 + 头注释),不引用其它 nix 文件;import 那一行就是开关。
  • 可任意组合同时 import;GTK 类文件(nemo / caja / thunar / nautilus / pcmanfm)各自以 lib.mkDefault 打开 services.gvfs(回收站/远程)与 programs.dconf(设置持久化),多文件同开也不冲突。
  • 属性路径坑:dolphin/konsole 在 kdePackages.*(pkgs.dolphin 不存在);krusader 在顶层。

验证证据(eval,未 rebuild)

检查结果
26 个文件语法全部 parse OK
26 个同时 import26 个包全进 systemPackages,缺失 0,零选项冲突;gvfs / dconf 为 on
单独注释掉某行对应包从 systemPackages 消失(开关语义成立)

启用方式

# configuration.nix 的 imports 里取消对应行注释(已按 GUI / TUI 分组注释),然后:
rebuild "explorer modules"

待实测

  • Krusader 的 zoom_in / zoom_out 是否连带缩放面板字体(它有独立的图标大小设置)。
  • Double Commander 的面板字体键(默认配置首次运行才生成,包内查不到)。
  • Konsole 的 Ctrl+滚轮是否缩放字体(尚未实测;已知菜单/快捷键缩放存在)——TUI 文件管理器的字号快慢就取决于这条。
  • TUI 图标字形需 Nerd Font,否则 nnn / lf / yazi 的图标显示为方块。

相关

  • skill:nixos-per-app-modules(模板与已核实事实表)
  • 同层笔记:「浏览器选择」