我有一个 U 盘和一个 NTFS 硬盘分区,我想在 NixOS 中使用它们。在其他一些发行版上,我会使用ntfs-3g
in 来安装它/mnt
。但在 NixOS 上,该目录不存在;我想 NixOS 还有一些其他规范的方式和/或地方可以做到这一点。
在 NixOS 中,应该如何设置外部分区的自动挂载,最好使用configuration.nix
?
答案1
嗯,我通常使用bashmount
或udisksctl
安装 USB 记忆棒。它们将安装在/run/media/$(user name)/$(drive label or UUID)
.
但如果您谈论的是内部硬盘或本地硬盘中的分区,最简单的方法是:
- 创建您喜欢的目录,如 /mnt/windows-partition
- 在该目录中安装所需的分区,例如 /dev/sdn5:
$
mount /dev/sdn5 /mnt/windows-partition
- 跑步nixos 生成配置。它将更新/etc/nixos/硬件配置.nix以匹配新的分区配置(以及配置.nix保持不变,除非您使用- 力量选项)。
- 最后,一个
nixos-rebuild switch
!
答案2
答案3
直接修改hardware-configuration.nix
文件
为了获得与其他答案中提到的相同的结果,您还可以fileSystems
在以下位置添加另一个配置条目hardware-configuration.nix
:
{
...
fileSystems."${mount_location}" = {
device = "/dev/${device}";
fsType = "${filesystem_extension}";
};
...
}
笔记:
要获取有关特定分区的文件系统扩展信息,请运行:
df -T | grep /dev/${device}
/dev/sda1
具有文件系统扩展名的设备的示例配置ext4
,将安装在/mnt/sda1
以下位置:
{
...
fileSystems."/mnt/sda1" = {
device = "/dev/sda1";
fsType = "ext4";
};
...
}
我认为这样的解决方案更加独特,因为设备名称不会像nixos-generate-config
解决方案中那样被 NixOS 特定命名空间覆盖。