Open utterances-bot opened 1 year ago
本文有些地方的 Nix 写成小写了。例如:
nix 的缺点
@CyrusYip 嗯嗯我改了一波,大小写应该统一许多了
六-7 更新系统 那一节里:
# 更新 flake.lock
nix flake update
# 部署系统
sudo nixos-rebuild switch (想确认下这里得加上 --flake 吧)
使用了 nix flake
之后,更新系统是不是得在 switch
后面加上 --flake
参数呢?
我看wiki 是这么写的: https://nixos.wiki/wiki/Flakes
@eval-exec 不需要的,六-3 有解释过:「在启用了 Nix Flakes 特性后,sudo nixos-rebuild switch
命令会优先读取 /etc/nixos/flake.nix
文件,如果找不到再尝试使用 /etc/nixos/configuration.nix
。」
至于你说的 --flake
参数,是在使用自定义路径的 flakes 配置时才需要添加,之前确实没说清楚,我刚在 六-3 的代码示例中补充了如下注释说明:
# 名为 nixosConfigurations 的 outputs 会在执行 `nixos-rebuild switch` 时被使用
# 默认情况下上述命令会使用与主机 hostname 同名的 nixosConfigurations,但是也可以通过 `--flake /path/to/flake/direcotry#nixos-test` 来指定
# 在 flakes 配置文件夹中执行 `sudo nixos-rebuild switch --flake .#nixos-test` 即可部署此 nixos 配置
# 其中 `.` 表示使用当前文件夹的 Flakes 配置,`#` 后面的内容则是 nixosConfigurations 的名称
关于 overlay/overrides 可以看看这个视频,我看了后感觉清晰了不少 https://www.youtube.com/watch?v=6VepnulTfu8&ab_channel=NixCon
在 文章中 有另外一种方法退回软件包版本 nixpkgs.overlay = [(final: prev: { nixpkgs-stable = nixpkgs-stable.legacyPackages.${prev.system};})];
根据 overlays 的讨论 说明 overlay 构建性能有影响,这个可以在 overlays 章节说明
@fbewivpjsbsby 感谢反馈!我确实没考虑到性能问题,我会在后续的 overlays 一章中补充说明。
@ethinx 感谢推荐,视频我看了,不过我有疑问的其实不是 overlay 功能本身,我的问题是不知道如何在 nix flakes 中使用它,今天查了下文档把疑问解决了,也更新了下文章内容。
后面应该会把 overrides/overlays 拆到第二篇文章里,并且丰富下内容。
我选择躺平无脑btrfs+timeshift+grub-btrfs: 每次改动都可以自动快照,不担心挂的问题; 系统迁移也贼简单,btrfs send & receive,然后改下磁盘uuid即可😏
@ferstar 一千个人心中就有一千个哈姆雷特,btrfs 也不寒碜哈哈
Ryan,我的超人! 我是去年 11 月接触了 Nix,主要是因为我用 doomemacs 然后它的作者 Henrik 有维护一个 nix 配置文件的 repo,我被那个 README 深深吸引了:
If the words "declarative", "generational", and "immutable" don't make you fully erect, you're considering NixOS for the wrong reasons.
因为我年轻时候是写 Scala 的嘛,那时候确实是函数式发烧友,写个 python 都强迫自己不用 for 循环的那种病态发烧友,虽然后来退烧了哈哈哈哈,但这些特性真的很吸引我,而且我和你一样也很喜欢折腾系统 & 折腾小众的新鲜玩意,最开始用 vim 的时候是这样,在知道 nix 之前用 Arch 的时候也是这样,后来因为 notion 数据不归我而怒切到 emacs (在 emacs 里面用 vim 哈哈哈哈)上的 org-mode 的时候也是这样。
但是学 Nix 真的太痛苦了,尤其是我是直接 fork 了 Henrik 那个超酷的配置,他还给里面做了各种抽象,我 nix 的概念都不咋懂的时候想尝试改他的配置的下场可想而知(尤其我还有 mac,想要通过 nix-darwin 装同一份配置)
痛并快乐着,虽然到现在对于 Nix 的很多东西都还一知半解,但是基本能存活了哈哈哈 然后刚刚看完了这个文档,感觉很棒很棒,特地写下这篇评论向你道谢!
@Thrimbda 哈哈,很高兴能帮助到你!
@Thrimbda Henrik 的这个配置我也看过,README 相当诙谐幽默哈哈,他末尾还贴了个 Youtube 视频,承包我一整天的笑点 🤣
NixOS 与 Nix Flakes 新手入门 - This Cute World
https://thiscute.world/posts/nixos-and-flake-basics/