This repository contains a complete configuration.nix setup for my personal NixOS system, including:
- Preconfigured
configuration.nix - Hardware-specific modules (e.g., for NVIDIA graphics)
- File system mount instructions (including additional HDDs)
When installing NixOS:
- Choose "Erase disk" option for the main NVMe drive.
- This ensures
configuration.nixandhardware-configuration.nixare generated cleanly with NVMe boot settings.
After installation:
nix-shell -p git
git clone https://github.com/prajjwalkumar17/nixos.gitDo the following in /etc/nixos:
cd /etc/nixos
cp ~/nixos/configuration.nix .
cp -r ~/nixos/modules .lsblk -fLook for non-NVMe entries (e.g., /dev/sda1, /dev/sda2) and note:
- UUID
- Filesystem (e.g.,
ext4,swap) - Mount point (if any)
Example output:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 a1b2c3d4-e5f6-7890-abcd-1234567890ab
└─sda2 swap 1234abcd-56ef-7890-1234-abcdefabcdef [SWAP]
Add entries like:
fileSystems."/home/yourname/work" = {
device = "/dev/disk/by-uuid/a1b2c3d4-e5f6-7890-abcd-1234567890ab";
fsType = "ext4";
};
fileSystems."/home/yourname/utility" = {
device = "/dev/disk/by-uuid/a1b2c3d4-e5f6-7890-abcd-1234567890ab";
fsType = "ext4";
};
swapDevices = [
{ device = "/dev/disk/by-uuid/1234abcd-56ef-7890-1234-abcdefabcdef"; }
];Create directories for mounting:
mkdir -p /home/yourname/work
mkdir -p /home/yourname/utilityThese paths will be used as mount points for your HDD.
sudo nixos-rebuild switchnixos/
├── configuration.nix # Main config file to replace /etc/nixos/configuration.nix
└── modules/ # Optional modules (e.g., NVIDIA-specific setup)
MIT — Feel free to fork and reuse.