This repository contains the NixOS configurations for my machines.
- godwaker (ThinkPad T470)
- talos (NAS (B760M-ITX/D4 WiFi, i5-13400, 32GB, 500GB NVMe, 3x12TB HDD))
- daedalus (ODROID C2)
- helios (WSL on Work Laptop)
- tobit (old ASUS Laptop)
The sys script acts as an entry-point.
$ ./sys help
Available recipes:
archive # Archive flake inputs
build_iso # Build a bootable ISO
check # Flake check [alias: c]
cryptenroll device="/dev/nvme0n1p2" # Set up automatic LUKS unlock
deploy *args # Deploy configuration to defined hosts [alias: d]
diagram # Generate network diagram
fix # Archive flake inputs
fmt # Format nix files
gc # Clean nix-store and old generations (keep 10 or 1 week)
gca # Clean nix-store and all old generations
getkey *HOSTS # Retrieve age key for specified host and update .sops.yaml
git # Start lazygit
help # Show help
history # Show profile history [alias: h]
provision flake host="nixos-installer.lan" # Provision a host [alias: p]
rekey # Rekey secrets
secrets # Edit secrets
shell # Spawn shell with tools
stage # Stage all .nix files
status # Git status [alias: s]
switch *args # Build and switch [aliases: b, rebuild]
unsafe_deploy host # Deploy without automatic rollback
update # Update flake [alias: u]-
Clone the repository
-
Build installer iso and boot on new machine:
$ sys build_iso [OUTPUT TRIMMED]
-
Provision the machine:
$ sys provision <flake> [OUTPUT TRIMMED]
outputscontains flake outputssecretscontains secretsuserscontains user configurations (home-manager)utilcontains utility moduleshostscontains host configurationstaloscontains the configuration for Taloscontainerscontains the configuration for containersarioncontains docker-compose stacks for Arionnixoscontains NixOS containersocicontains OCI container configurationsquadletcontains quadlet pods
disk-configcontains disk configurationshardware-configuration.nixcontains the configuration for hardwareservicescontains service configurationsnetworking.nixcontains the configuration network configurationquicksync.nixcontains the configuration for Intel QuickSync
godwakercontains the configuration for Godwakerdisk-configcontains disk configurationsboot.nixcontains the configuration for boothardware-configuration.nixcontains the configuration for hardwarenetworking.nixcontains the configuration network configurationservices.nixcontains the configuration for services