This repository contains my NixOS configurations
Warning
Work in progress, expect bugs and regressions
- nixie - daily driver laptop
- thlix - minimal personal desktop
- minix - base of all desktops (ISO builds)
- cloud - main server
- Follow the official NixOS installation guide until
NixOS Installation
section - Clone this repo:
git clone https://github.com/mrtnvgr/systems
- Create your host (look in
flake.nix
andhosts
for examples)- Copy
/mnt/etc/nixos/hardware-configuration.nix
tohardware.nix
- Copy
- Install:
nixos-install --root /mnt --flake .#<YOUR-HOST-NAME>
- Move this repo to installed system:
mv .systems /mnt/home/<your-username>/
- Reboot:
reboot
- isoplus - LiveISO, heavily compressed, loaded into the RAM for performance
- For persistence support, specify
--special-arg persistence 1
while creating the image
- For persistence support, specify
- rawplus - full mutability, image of a regular installation
- Expect a horrible experience on USB sticks
- Consider only for external SSD/HDD drives
- Specify
--disk-size <MEGABYTES>
while creating the image
- Bring
nixos-generators
into the scope:nix shell github:nix-community/nixos-generators
- Use the
minix
host or create your own - Generate an image:
nixos-generate --flake .#<YOUR-HOST-NAME> --format-path genfmts/<FORMAT>.nix
- Flash:
cat <path-to-image> > /dev/sdX
- Only for isoplus with persistence:
- Create a new volume:
fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
- Format the volume:
mkfs.ext4 -L <YOUR-HOST-NAME>persistence /dev/sdX3
- Create a new volume:
git-crypt: error: encrypted file has been tampered with!
: