在NixOS中安装系统到U盘的过程可以按照以下步骤进行。这里以/dev/sdb作为目标设备进行说明。首先,确保你有管理员权限,因为涉及到对系统硬件的修改。使用以下命令进入NixOS的安装工具环境,并切换到Fish Shell,这是一个非常受欢迎的shell环境,因为它提供了丰富的交互式功能,使得操作更加便捷。

sudo nix-shell -p nixos-install-tools parted git fish

切换到Fish Shell后,开始对U盘进行分区。使用parted工具创建GPT分区表,并设置EFI分区和主分区。

parted /dev/sdb -- mklabel gpt
parted /dev/sdb -- mkpart ESP fat32 1MiB 1024MiB
parted /dev/sdb -- set 1 esp on
parted /dev/sdb -- mkpart primary 1024MiB 100%

使用lsblk命令确认分区是否成功。接下来,格式化EFI分区为FAT32文件系统,并创建Btrfs分区。

mkfs.fat -F 32 -n BOOT /dev/sdb1
mkfs.btrfs -f -L NIXOS /dev/sdb2

然后,挂载Btrfs分区,并创建必要的子卷。

mount /dev/sdb2 /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
btrfs subvolume create /mnt/@nix
btrfs subvolume create /mnt/@boot
btrfs subvolume create /mnt/@log

挂载根目录和其他子卷,并设置适当的挂载选项。

mount -o compress=zstd:1,noatime,subvol=@ /dev/sdb2 /mnt
mkdir -p /mnt/{home,nix,boot,var/log}
mount -o compress=zstd:1,noatime,subvol=@home /dev/sdb2 /mnt/home
mount -o compress=zstd:1,noatime,subvol=@nix /dev/sdb2 /mnt/nix
mount -o compress=zstd:1,noatime,subvol=@log /dev/sdb2 /mnt/var/log
mount /dev/sdb1 /mnt/boot

最后,生成NixOS的默认配置文件,并根据个人需要进行自定义配置,然后执行安装命令。

nixos-generate-config --root /mnt
nixos-install

在NixOS中,更换桌面环境非常简单,只需在配置文件中添加相应的桌面环境配置即可。重新引导系统后,新的桌面环境就会生效。NixOS的一大优势是,尝试不同的桌面环境不会使系统变得臃肿,因为NixOS会智能地管理依赖关系。

此外,如果你使用的是显卡PCI,记得在配置中设置prime选项。你还可以添加镜像源来加速软件包的下载,例如清华大学的开源软件镜像站。

nix.settings.substituters = [ "https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store/" ]

希望这些信息能帮助你顺利地在U盘上安装NixOS。如果你有任何疑问或需要进一步的帮助,请随时提问。

标签: none

评论已关闭