全局配置文件,状态回滚听起来还是听吸引人的,这里有实际在用的兄弟吗?实际情况怎么样?
可以看看 hlissner 的 FAQ。
NixOS(或者说 Nix,因为还包括 nix-darwin)的设计非常对我的胃口,几乎永久可复现的构建流程、完全透明的二进制打包模式以及一键部署系统环境,这些功能降低了我跨平台开发时的环境配置成本。
但是这里还是想给楼主泼一盆冷水:如非特别感兴趣+特别有空,还是别入这个坑。Nix 社区非常活跃,开发进度很快,目前流行的很多新特性比如 nix-command, flakes 都还只是实验特性。如果你想获得最佳体验,可能需要频繁拜读源码+高强度刷 RFC。而且 Nix 饱受诟病的一点就是文档,文档实在是太乱了……所以使用 Nix 的初期,学期成本是非常高的。而我个人认为 Nix 最好用的地方就是管理个人配置——尽管 Nixpkgs 有大一统所有构建工具的能力,但是应该在很长一段时间内,不会有人推动去做。你可以把它理解为,它可以记录下你每次安装一个新的包的所有指令,不管是卸载还是重新安装都会变得方便,不需要专门再写一个 shell script。
另外,学习 Nix 前,个人觉得至少需要有一段时间的常见类 Unix 操作系统的使用经验,加上对 C/C++ 构建系统的基本了解(autoconf, cmake, Makefile, …)。假使楼主真的要入这个坑,我推荐从 Nix 包管理器开始,而不是从 NixOS 开始,因为 Nix 包管理器和其他包管理器(例如 Homebrew, APT)是可以共存的,如果遇到了暂时折腾不出来的问题也可以退而求其次。
大概14年开始用了5年的Arch Linux,因为有系统洁癖平均每一两个月重装一次系统。
19年换NixOS治好了我的系统洁癖再也没重装过。
怎么说呢,nixos 用了一段时间,又换回 arch了,nixos的想法是好的,但是使用成本有点高,而且有时候还不是一劳永逸 我碰到过neovim的部分插件或者工具没有,需要自行打包,而打包成本比arch高了很多(一部分原因是文档混乱,新旧文档混到一起都不知道该参考哪个)
如果你有精力,可以试试,没精力就算了
但好处是有的,永远不会滚挂,如果home的内容是挂到内存盘,甚至可以实现完整的每次启动都是完完全全一个全新的系统
缺点就是太折腾,而且最近nixos社区似乎有点分歧?我没怎么关注这个
用了好几年了,习惯了之后,感觉领先win、mac、Ubuntu一个时代,太爽了
nixos也支持flatpak,也有类似于arch的nur,一般的软件都有。
实在没有的,就用distrobox来跑,没啥软件是跑不起来的。
硬盘寿命还在吗?
大佬,快用nixos,好玩啊
大佬,快用NixOS;我在WSL上已经配了一天了,差不多可以简陋使用了。但是文档是真的乱。
NixOS 带给我了更新系统的自信(之前用的是Arch XD
NixOS 上 Emacs Overlay 提供的Emacs master分支的二进制构建,一天更新一次,这样我就不用每次都自己构建一遍Emacs了
工具配置起来非常方便,不用像其他发行版那样输入很多命令,一般直接拷贝官方推荐配置就行 (当然工具没出现在 NixOS 上就另当别论了 XD
如果四五个月内需要探索新的计算机领域且空的时间不多,不建议使用 NixOS。
1年前用过 NixOS以及在 macOS 把 Nix当成包管理器。当时也是觉得新鲜入的坑。
总的来说,Nix 是需要投入大量时间进行配置的,比 Emacs 更需要折腾。时间不多的话真不建议入坑。
我现在已经回到 Archlinux + Gnome,每天一滚,很稳定。
复杂,毁誉参半。 NixOS 和 Arch 用户是网上最活跃的 Linux 发行版讨论者,其它发行版过于朴素无趣。
文档是垃圾中的战斗机
我断断续续用了两个月,最后还是弃了,网络问题太麻烦了,就算是把Nixpkgs换到tuna这类的国内源上,NixOS在构建过程中还是会不可避免的去访问sourceforge,github之类的直连访问很不友好的网站去下载一些依赖然后构建程序,网络带来的心智负担很大。
这玩意对存储占用和环境变量的污染非常扎眼,学起来也是个无底洞,想用NixOS用的舒服的话避不开flake和home-manager,学起来没那么复杂但是文档非常差,官方文档很难解决问题。
Emacs已经很折腾了,没有精力再折腾linux发行版了,个人还是fedora+gnome养老了。
如果你是一个windows用户想体验一下Linux做为主力OS,那我觉得Arch很长一段时间内都是最好的选择。
哇,这个文档,在我刚了解 NixOS 的时候非常有帮助,可惜最后还是没能正式用上 NixOS,太折腾了。
嗯确实是折腾的,NixOS 的缺点跟优点都很明显
没有梯子的话 NixOS 用起来确实会很麻烦,我是家里一直有软路由,这方面比较无感知。