Nixos入门建议|写给nixos新手

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

1
2
services.flatpak.enable = true;
virtualisation.docker.enable = true;

有flatpak版的先用,服务类的就先用docker跑。 慢慢按照必要性慢慢用nixpkg逐渐接管就好了。

appimage

有极个别的Nixpkg没有包但是有appimage的 那就先。不过appimage打包为nixpkgs也简单,后面需要自己学打包的时候,也可以考虑从appimage开始。

1
2
3
4
{
  programs.appimage.enable = true;
  programs.appimage.binfmt = true;
}

然后 appimage-run /home/yh/myworkspace/my-opt/XXXX.AppImage

nur

nur在大部分情况下都没必要使用。如果你确实使用,后期可以考虑自己封一个。例如我用的rime-ice 一开始用的nur后来发现没必要 就手动安装,再后来发现干脆自己封装一个就好。

NIX没有的包

能docker的就docker先对付下,实在不行kvm。
还是搞不定的就找ai帮你封装nixpkg,中间的错误反复几次 运气好的话能一次性搞定,自己实在搞不定就去寻求社区帮助。

善用社区帮助

github 搜索

不用说了,抄作业必备

电报群

nixos 中文电报群整体环境都比较好,只要不是太脑残的问题 都会有人解答。 也有 nixos核心团队的人偶尔触摸,nixpkgs贡献者更是经常有人在群里活跃。 礼貌一些,谦虚一些。问题解决后 说一声感谢。

最后

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计