配置是成功安装 NixOS 的关键。我用 Linux 有些年头了。在这些年里我很有幸见证了开源的发展。各色各样的发行版在安装方面的努力,也是其中的一个比较独特的部分。以前,安装 Linux 是个最好让有技术的人来干的任务。现在,只要你会装软件,你就会安装 Linux。简单,并且,不是我吹,在吸引新用户方面效果拔群。事实上安装整个 Linux 操作系统都要比 Windows 用户安装个更新看起来要快一点。
但每一次,我都喜欢看到一些不同的东西——那些可以让我体验新鲜的东西。NixOS 在这方面就做的别具一格。讲真,我原来也就把它当作另一个提供标准特性和 KDE Plasma 5 界面的 Linux 发行版。
好像也没什么不对。
下载 ISO 映像后,我启动了 VirtualBox 并用下载的镜像创建了个新的虚拟机。VM 启动后,出来的是 Bash 的登录界面,界面上指导我用空密码去登录 root 账号,以及我该如何启动 GUI 显示管理器(图 1)。
图 1: 与 NixOS 的初次接触可能不是太和谐。
“好吧”我这样想着,“打开看看吧!”
GUI 启动和运行时(KDE Plasma 5),我没找到喜闻乐见的“安装”按钮。原来,NixOS 是一个在安装前需要你配置的发行版,真有趣。那就让我们瞧瞧它是如何做到的吧!
安装前配置你需要做的第一件事是建分区。由于 NixOS 安装程序不包含分区工具,你得用自带的 GParted (图 2)来创建一个 EXT4 分区。
图 2: 安装前对磁盘分区。
创建好分区,然后用命令 mount /dev/sdX /mnt 挂载。(请自行替换 sdX 为你新创建的分区)。
你现在需要创建一个配置文件。命令如下:
nixos-generate-config --root /mnt
上面的命令会创建两个文件(存放在目录 /mnt/etc/nixos 中):
configuration.nix — 默认配置文件。
hardware-configuration.nix — 硬件配置(无法编辑)
通过命令 nano /mnt/etc/nixos/configuration.nix 打开文件。其中有一些需要编辑的地方得注意。第一个改动便是设置启动选项。找到行:
# boot.loader.grub.device ="/dev/sda";#或 efi 时用"nodev"
删除行首的 # 使该选项生效(确保 /dev/sda 与你新建的分区)。
通过配置文件,你可以设置时区和追加要安装的软件包。来看一个被注释掉的安装包的示例:
#List packages installed in system profile.To search by name, run:
# nix-env-aqP |grepwget
# environment.systemPackages =with pkgs;[
#wgetvim
#];
如果你想要添加软件包,并在安装时安装它们,那就取消掉这段注释,并添加你需要的软件包。举个例子,比方说你要把 LibreOffice 加进去。示例详见下方:
#List packages installed in system profile.To search by name, run:
nix-env-aqP |grepwget
environment.systemPackages =with pkgs;[
libreoffice wgetvim
];
你可以通过输入命令 nix-env -aqP | grep PACKAGENAME 来寻找确切的包名(PACKAGENAME 为你想要找的软件包)。如果你不想输命令,你也可以检索 NixOS 的软件包数据库。