- Clone the repo
- Do the following
$ nix --experimental-features 'nix-command flakes' develop
$ make nixos.switch host=<hostname>where <hostname> is a host found in the ./hosts diretory.
| Hostname | Model | Type |
|---|---|---|
| dn-silverbook | Framework 13" with AMD 7840U Board | Laptop |
| dn-jetbook | Lenovo ThinkPad X1 Carbon 5th Gen | Laptop |
| dn-clapper | Lenovo ThinkPad X13 Gen 1 | Laptop |
| dn-ravenbook | Lenovo ThinkPad T480 | Laptop |
| dn-blackleg | Lenovo ThinkPad x13s Gen 1 ARM | Laptop |
| Hostname | Model | Type |
|---|---|---|
| dn-grill | Framework i7-1260P Board | Server |
| dn-oven | Dell OptiPlex 3040 Micro Intel | Server |
| dn-tandoor | Dell OptiPlex 3020 Micro Intel | Server |
| dn-microwave | Windows Dev Kit 2023 | Server |
| Hostname | Model | Type |
|---|---|---|
| dn-obsidian | AMD Ryzen 7 5800X NVIDIA GeForce RTX 3070 | Gaming Rig |
I used to use Ansible to provision Ubuntu machines in this repo. However, I switched over to NixOS since Ansible made it too difficult to make consistent systems. I became frustrated with Ansible's imperative nature and having runs fail because a file was touched in a bad place.
Not what you want when you're setting up a new machine!
I switched over to Nix on macOS because of nix-shells and then eventually made it to NixOS after getting more comfortable with the language and package manager.