Minimal installation (including wm, no tmpfs as root), go to here
- Prepare a 64-bit nixos minimal iso image and burn it, then enter the live system. Suppose I have divided two partitions
/dev/nvme0n1p1
/dev/nvme0n1p3
- Format the partition
mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p3
- Mount
mount -t tmpfs none /mnt
mkdir -p /mnt/{boot,nix,etc/nixos}
mount /dev/nvme0n1p3 /mnt/nix
mount /dev/nvme0n1p1 /mnt/boot
mkdir -p /mnt/nix/persist/etc/nixos
mount -o bind /mnt/nix/persist/etc/nixos /mnt/etc/nixos
- Generate a basic configuration
nixos-generate-config --root /mnt
- Clone the repository locally
nix-shell -p git
git clone https://github.com/Ruixi-rebirth/flakes.git /mnt/etc/nixos/Flakes
cd /mnt/etc/nixos/Flakes/
nix develop --extra-experimental-features nix-command --extra-experimental-features flakes
- Copy
hardware-configuration.nix
from /mnt/etc/nixos to /mnt/etc/nixos/Flakes/hosts/laptop/hardware-configuration.nix
cp /mnt/etc/nixos/hardware-configuration.nix /mnt/etc/nixos/Flakes/hosts/laptop/hardware-configuration.nix
- Modify the overwritten
hardware-configuration.nix
nvim /mnt/etc/nixos/Flakes/hosts/laptop/hardware-configuration.nix
...
#This is just an example
#Please refer to `https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/#step-4-1-configure-disks`
fileSystems."/" =
{ device = "none";
fsType = "tmpfs";
options = [ "defaults" "size=8G" "mode=755" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/49e24551-c0e0-48ed-833d-da8289d79cdd";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/3C0D-7D32";
fsType = "vfat";
};
fileSystems."/etc/nixos" =
{ device = "/nix/persist/etc/nixos";
fsType = "none";
options = [ "bind" ];
};
...
- remove '/mnt/etc/nixos/Flakes/.git'
rm -rf .git
-
Username modification: edit
/mnt/etc/nixos/Flakes/flake.nix
to modify user variable, hostname modification: edit/mnt/etc/nixos/Flakes/hosts/system.nix
to modify* The hostName value in the networking property group -
Use the hash password generated by the
mkpasswd {PASSWORD} -m sha-512
command to replace the value ofusers.users.<name>.hashedPassword
in/mnt/etc/nixos/Flakes/hosts/laptop/wayland/default.nix
( there is two place needs to be displace ) -
Select Window Manager
Wayland: uncomment this line and this line, comment this line and this line
Hyprland: uncomment this line and this line, comment this line and this line
Sway: uncomment this line and this line, comment this line and this line
Xorg: uncomment this line and this line, comment this line and this line
Bspwm: default
- Select a theme
Wayland
here choose the one you want
Xorg
nord: default
- Perform install
nixos-install --no-root-passwd --flake .#laptop
- Reboot
reboot
- Enjoy it!