nixos通过声明式配置文件部署linux系统,步骤包括:制作usb安装盘、手动分区(含uefi的esp分区)、挂载并生成configuration.nix、编辑主机名与服务配置、运行nixos-install完成安装。

如果您希望在计算机上部署一个采用声明式配置的Linux系统,NixOS提供了一种独特的方式,通过纯文本配置文件定义整个系统的状态。以下是安装NixOS的具体步骤:
一、准备安装介质
安装NixOS前需创建可启动的USB安装盘,该介质包含NixOS安装程序及基础系统环境,用于引导并执行后续安装流程。
2、使用dd命令将ISO写入USB设备(例如/dev/sdb),确保目标设备无重要数据:sudo dd if=nixos-24.05-x86_64-linux.iso of=/dev/sdb bs=4M oflag=sync。
3、安全弹出USB设备后插入目标主机,重启并从USB启动(通常需在BIOS/UEFI中调整启动顺序)。
二、进入安装环境并分区
NixOS安装过程依赖于手动磁盘布局配置,需明确划分根分区、EFI系统分区(如使用UEFI)及可选的swap或/home分区,以满足声明式配置对存储结构的要求。
1、启动后选择“Boot existing NixOS installation”下方的“NixOS ISO”进入Live环境。
2、运行lsblk确认目标磁盘设备名(如/dev/nvme0n1)。
3、使用parted或fdisk创建分区:对于UEFI系统,必须创建一个512MiB大小的FAT32分区并标记为esp;其余空间分配给根分区(ext4或btrfs)。
4、格式化分区:mkfs.fat -F 32 /dev/nvme0n1p1(EFI分区),mkfs.ext4 /dev/nvme0n1p2(根分区)。
三、挂载文件系统并生成基础配置
挂载操作为后续安装建立路径映射关系,而nixos-generate-config会自动探测硬件并生成初始声明式配置文件,作为所有系统设置的唯一事实来源。
1、挂载根分区至/mnt:mount /dev/nvme0n1p2 /mnt。
2、若使用UEFI,创建并挂载EFI分区:mkdir -p /mnt/boot && mount /dev/nvme0n1p1 /mnt/boot。
3、运行命令生成默认配置:nixos-generate-config --root /mnt,输出文件位于/mnt/etc/nixos/configuration.nix。
四、编辑声明式配置文件
configuration.nix是NixOS的核心配置载体,所有软件包、服务、用户、网络等设置均在此文件中以Nix语言声明,系统将严格按此文件构建运行时状态。
1、使用nano或vim打开配置文件:nano /mnt/etc/nixos/configuration.nix。
2、修改networking.hostName为期望主机名,例如"nixos-pc"。
3、取消services.xserver.enable行的注释并设为true以启用图形界面。
4、在environment.systemPackages中添加常用工具,例如[ pkgs.vim pkgs.git pkgs.curl ]。
五、执行安装并重启
安装过程本质是执行Nix表达式求值,将配置文件中声明的所有组件构建、下载并部署至目标系统,最终生成可引导的Nix store与系统配置。
1、运行安装命令:nixos-install,过程中会提示输入root密码。
2、安装完成后执行umount -R /mnt卸载所有挂载点。
3、键入reboot重启系统,移除USB设备,从硬盘启动进入新安装的NixOS。










