NixOS 系列 #4:安装 NixOS 后要做的事
| 2023-03-26 14:25:14 评论: 0
安装之后,你会发现 NixOS 与通用的 Linux 发行版有很大的不同。
当然,作为 高级 Linux 发行版之一,大多数新用户对它并不熟悉。
如果你不知道 为什么你应该使用 NixOS,并且出于好奇而尝试它,那么在继续进行之前,知道它是为谁准备的至关重要。
虽然我假设你已经安装了这个发行版,但如果你是第一次使用,我建议先 在虚拟机上安装 NixOS。
1、更新软件包
即使你使用最新的 ISO 进行安装,也总是会有更新的。那么为什么不从更新软件包开始呢?
要升级软件包,首先,你必须在添加的频道中检查是否有更新:
nix-channel --update
然后,使用下面的命令来安装这些更新(如果有的话):
sudo nixos-rebuild switch --upgrade
这就行了!它将处理其余的事情。
2、在 NixOS 中改变主机名
如果你尝试用传统的方法 改变主机名(使用 hostnamectl
命令),会出现以下错误:
在 NixOS 中,你可以用它的主配置文件轻松地改变主机名。使用如下命令:
sudo nano /etc/nixos/configuration.nix
在这个配置文件中,寻找以下一行:
networking.hostName = "nixos";
然后把它改成:
networking.hostName = "Your_Hostname";
例如,我把我的主机名改为 itsFOSS
:
networking.hostName = "itsFOSS";
现在,保存更改并退出 nano 文本编辑器。
为了使你对主机名的修改生效,执行以下命令:
sudo nixos-rebuild switch
最后,重新打开终端,主机名的变化应该反映出来。
3、设置 Flatpak
我知道你可能在想什么。Nix 软件包管理器已经提供了大量的软件包。那么,为什么你需要 Flatpak 呢?
安装你所需要的东西对于第一次使用的人来说可能有点费时。所以,Flatpak 应该能给你带来方便。
设置 Flatpak 与你在 Ubuntu 上做的不一样。
要设置 Flatpak,你必须对 configuration.nix
文件进行修改,可以通过以下方式访问该文件:
sudo nano /etc/nixos/configuration.nix
在 nano 中移动到最后一行,在 }
前添加以下一行:
services.flatpak.enable = true;
按 Ctrl + O
保存更改,按回车键,按 Ctrl + X
退出。
接下来,使用以下命令重建并切换到新的配置文件:
sudo nixos-rebuild switch
最后,使用下面的命令将 Flathub 软件库添加到系统中:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
想知道到底什么是 Flatpak 包吗?你可以参考我们关于它的文章:
4、启用垃圾收集
NixOS 以其不可改变性而闻名,这是有充分理由的。
每当你升级一个软件包时,旧的软件包不会被删除。只是指向旧包的符号链接将被指向最新的版本。
而这样做,你的系统中会积累下不必要的垃圾。
但是,删除每一个旧世代将违背 NixOS 的初衷。
所以,在这种情况下,你可以将你的系统配置为每周删除垃圾包。
要做到这一点,首先,打开 NixOS 配置文件:
sudo nano /etc/nixos/configuration.nix
并在配置文件末尾的 }
前添加以下一行:
# Automatic Garbage Collection
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
保存修改并退出 nano 文本编辑器。
为了激活垃圾收集,重建并切换到新的配置文件:
sudo nixos-rebuild switch
如果你不确定垃圾收集器是否在后台正常运行,你可以用以下命令列出活动的计时器:
systemctl list-timers
正如你所看到的,Nix 垃圾收集器正在如期运行,并显示距离下次清理还有 5 天。
5、安装你喜欢的软件
我是说这是我们使用电脑的唯一原因 —— “为了使用我们最喜欢的软件”,如果还不是,我们就把它变成现实!
寻找软件包的最好地方是 Nix 软件包搜索,可以使用你喜欢的任何浏览器访问。
- 搜索软件包
- 选择软件包
- 点击 “nix-env” 并复制给定的 NixOS 的命令
- 执行该命令,就可以了
你可以查看我们的 NixOS 软件包管理 指南,了解所有的细节。
让我在这里给你一个简单的回顾。例如,在这里,我想安装 Librewolf,所以我采用了以下方法:
但如果你想安装 SSH 或 Plex 等服务,上述方法就不能用了。
为此,你得查看位于页面顶部的 “ NixOS 选项 ”。
因此,假设我想安装 OpenSSH,那么我必须按照给定的步骤进行:
- 进入 “NixOS 选项”。
- 搜索服务的名称
- 获取服务的名称并将其粘贴到
configuration.nix
中,将其值改为true
。
services.openssh.enable = true
在配置文件中加入这一行后,重建服务:
sudo nixos-rebuild switch
6、在 NixOS 中启用自动更新(可选)
一些用户喜欢启用自动更新功能,而另一些用户则可以在他们方便的时候更新软件包。
所以这完全取决于你。
要启用自动更新,首先打开 configuration.nix
文件:
sudo nano /etc/nixos/configuration.nix
接下来,在配置文件的末尾,在 }
之前添加以下一行:
# Auto system update
system.autoUpgrade = {
enable = true;
};
保存修改并退出 nano。
要启用自动更新,你必须用以下方法重建并切换到该文件:
sudo nixos-rebuild switch
你也可以用下面的命令检查 NixOS 的升级定时器:
systemctl list-timers
正如你所看到的,nixos-upgrade.service
正在后台如期运行!
7、减少交换度
如果你正在利用交换分区,你可能想减少交换度。
交换度只不过是你想要多积极地使用交换分区(或内存)的数值,其范围从 0 到 100。
交换度越小,你的系统就会越多地使用物理内存(RAM),而交换分区只不过是你的存储驱动器的一部分而已。
另外,存储驱动器的速度相对比内存慢,所以如果可能的话,你应该减少交换度。
要检查你的系统的默认交换度,请使用以下方法:
cat /proc/sys/vm/swappiness
而对于大多数 Linux 发行版,它被设置为 60
。
我建议你把这个值降低到 10
。
要做到这一点,首先,用以下命令打开配置文件:
sudo nano /etc/nixos/hardware-configuration.nix
并在 }
之前的行末添加以下一行:
boot.kernel.sysctl = { "vm.swappiness" = 10;};
保存修改并退出文本编辑器。
现在,重建配置并使用下面的方法切换到它:
sudo nixos-rebuild switch
现在,你可以再次检查交换度,它应该反映出变化:
cat /proc/sys/vm/swappiness
就这些了。
总结
如果你在第一次安装 NixOS 后马上遵循这些要点,你应该得到一个良好的用户体验。
当然,根据你的要求,还可以有一些其他的东西。但是,我认为上面提到的事情是最基本或最常见的事情。
在本系列的下一部分,我将讨论在 NixOS 上设置家庭管理器,这对有多个用户的系统应该是有帮助的。
? 安装NixOS后,你首先做什么?让我知道你的想法。