nixos的优点不用多说了,除了入门难度和nix语法基本没啥缺点。 看过很多人入门nixos都是浅尝辄止,或者很快就遇到坑放弃,或走入误区。 所以我整了一个让你一天入门nixos的方法,下面仅仅代表我个人的一些观点。
使用nixos的条件
你本身需要熟悉Linux ,了解常见日用软件的配置方式,有管理dotfile的经验。最起码能搞定常见的问题,能做到常规linux发行版,完成环境搭建 开发 部署 日用 常见场景。 其次 至少要会一种编程语言,并且愿意学虽然很简单但是有一些蛋疼的nix语言。
大概概括说 就是 你用过常用的linux发行版 并且都能做到日用linux 几乎不使用win/macos ,有程序员技能。有稳定的上网环境,NIXOS对github archive.org 等网站有强依赖。
安装
安装方式
如果你没有诸如 archlinux 或者 其他类似rootfs安装系统的经验,建议你直接 用 nixos的gnome live盘来默认安装。当然你要在路由/网关上配置好那个啥的代理,或者其他方式。
如果你搞不定代理,那就只能用用nixos-install。 https://wiki.nixos.org/wiki/NixOS_Installation_Guide/zh 这里有详细的中文说明,网上也很多其他说明。
如果你还是搞不定,可能太需要补充一下Linux入门知识。
渐进式
nixos新人,最常见的一个错误就是 想在入门第一天就实现大佬的全NIX托管。甚至完全不了解的情况下直接CLONE别人仓库试图复刻。
你要知道 一个 Nixos-CONFIG 是一整个系统的配置,甚至是多机器 多环境,是一套非常庞大复杂的东西。新人切勿全盘抄作业。 所以我的建议是还是逐步过度,自己从0开始配置。
flake home-manager
不建议 一开始就使用。你先用 nix-shell -p XXX 替代你原来的 apt install xxx 就好了。然后学着修改 /etc/nixos/configuration.nix 的 environment.systemPackages 就好了
即便开始用home-manager的时候,也不要一开始就把软件配置 programs.xxx = {} 全写到 HM里面,更不要一开始就 用Nix去管理所有配置文件。
docker 和 flatpak
| |
有flatpak版的先用,服务类的就先用docker跑。 慢慢按照必要性慢慢用nixpkg逐渐接管就好了。
appimage
有极个别的Nixpkg没有包但是有appimage的 那就先。不过appimage打包为nixpkgs也简单,后面需要自己学打包的时候,也可以考虑从appimage开始。
| |
然后 appimage-run /home/yh/myworkspace/my-opt/XXXX.AppImage
nur
nur在大部分情况下都没必要使用。如果你确实使用,后期可以考虑自己封一个。例如我用的rime-ice 一开始用的nur后来发现没必要 就手动安装,再后来发现干脆自己封装一个就好。
NIX没有的包
能docker的就docker先对付下,实在不行kvm。
还是搞不定的就找ai帮你封装nixpkg,中间的错误反复几次 运气好的话能一次性搞定,自己实在搞不定就去寻求社区帮助。
善用社区帮助
github 搜索
不用说了,抄作业必备
电报群
nixos 中文电报群整体环境都比较好,只要不是太脑残的问题 都会有人解答。 也有 nixos核心团队的人偶尔触摸,nixpkgs贡献者更是经常有人在群里活跃。 礼貌一些,谦虚一些。问题解决后 说一声感谢。