内容提要
作者尝试NixOS,欣赏其可完全控制系统、轻松回滚和用home-manager管理dotfiles。但配置Emacs时每次改动都需重建系统,造成心理负担,还因网络问题构建卡住,需加镜像才成功。最终无法忍受,放弃迁移Arch Linux配置。作者认为NixOS虽新,但暂未产生持久兴趣,未来或许再用。
延伸解读
NixOS 的配置模式与心理负担
NixOS 要求所有系统配置通过声明式文件定义,任何改动都需重建系统。这种模式虽然保证了可复现性,但作者在配置 Emacs 时,每次修改都要执行重建,带来了持续的心理负担。对于习惯即时生效的用户,这种工作流可能成为日常使用的障碍。
网络依赖与构建卡顿
作者在构建过程中因网络问题导致构建卡住,最终通过添加镜像才成功。这反映出 NixOS 的构建过程高度依赖网络下载,在网络环境不佳时可能影响使用体验。用户需提前配置镜像或代理,以降低构建失败的风险。
从 Arch 迁移的适应成本
作者原本使用 Arch Linux,并已有一套成熟的配置。迁移到 NixOS 后,发现管理 Emacs 配置的方式与旧习惯差异明显,最终放弃迁移。这表明从传统发行版转向 NixOS 时,不仅需要学习新工具,还要调整既有的配置管理思维,适应成本不容忽视。
Q&A
NixOS 最吸引作者的地方是什么?
NixOS 能完全控制系统内外,只要配置文件在,就能在新机器上复现完全相同的环境,并且回滚方便。
在 NixOS 上回滚到上一个系统版本需要什么命令?
使用命令:sudo nixos-rebuild switch --rollback。
作者如何管理 dotfiles?
作者通过 NixOS 生态中的 home-manager 来管理 dotfiles,并将所有 dotfiles 从 Arch Linux 迁移到了 NixOS。
为什么作者在配置 Emacs 时感到心理负担?
因为每次修改 Emacs 配置都需要重建整个系统,每一次改动都意味着又一次重建,这给作者带来了巨大的心理负担。
作者在构建 NixOS 时遇到了什么问题?
一次构建因为网络问题一直卡住无法完成,直到添加了镜像才成功。
作者最终为什么放弃使用 NixOS?
作者无法忍受每次修改配置都要重建系统以及构建卡住的问题,最终放弃了在 NixOS 下使用 Arch Linux 配置的尝试。