Skip to content

booxter/nix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,378 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nix configs

This repo uses a Makefile as the main entrypoint for building and switching configurations. Most targets take WHAT= (a host or VM type). Running a target without WHAT prints the available options when supported.

Common commands

make inputs-update
make nixos-build-target WHAT=frame
make darwin-build-target WHAT=mair

Local and CI VMs

make local-vm WHAT=builder1
make build-local-vm WHAT=builder1

make ci-vm WHAT=builder1
make build-ci-vm WHAT=builder1
make build-ci-vm-config WHAT=builder1

Proxmox VMs

make prox-vm WHAT=jellyfin WHERE=prx1

Host rebuilds

make nixos-build
make nixos-switch

make darwin-build
make darwin-switch

Fleet updates

Update multiple machines over SSH with scripts/update-machines.sh (defaults to --all):

# Update all personal machines (default)
./scripts/update-machines.sh -A

# Update all work machines
./scripts/update-machines.sh -A --work

# Update a subset interactively (fzf required)
./scripts/update-machines.sh -A --select

# Dry run (SSH check + disk estimate only)
./scripts/update-machines.sh -A --dry-run

Disk and image helpers

make disko-install WHAT=frame DEV=/dev/sdX
make pi-image

Home Manager

make home-build-nv
make home-switch-nv

Machines

All VMs run on Proxmox hosts and are deployed with the nixmoxer tool (scripts/push-vm-to-proxmox.sh).

Infra (DHCP, Proxmox)

Machine Type Purpose Config Includes
pi5 NixOS (Raspberry Pi) DHCP and network services for the lab. nixos/pi5/default.nix common, nixos
nvws Proxmox host Work Proxmox node configuration. Single node. nixos/nvws/default.nix common, nixos
prx1-lab Proxmox host Lab Proxmox node (cluster leader). nixos/prx1-lab/default.nix common, nixos
prx2-lab Proxmox host Lab Proxmox node (cluster member). nixos/prx2-lab/default.nix common, nixos
prx3-lab Proxmox host Lab Proxmox node (cluster member). nixos/prx3-lab/default.nix common, nixos

Nix infra

Machine Type Purpose Config Includes
builder1 CI VM Primary builder VM for CI and heavy Nix builds. nixos/default.nix common, nixos
builder2 CI VM Additional builder VM (same profile as builder1). nixos/default.nix common, nixos
builder3 CI VM Additional builder VM (same profile as builder1). nixos/default.nix common, nixos
cache CI VM Cache VM backed by NFS for binary caching. nixos/cachevm/default.nix common, nixos

Clients (macs, frame)

Machine Type Purpose Config Includes
mair macOS (aarch64-darwin) Personal Mac workstation. darwin/mair/default.nix common, darwin
mmini macOS (aarch64-darwin) Mac mini workstation. darwin/default.nix common, darwin
JGWXHWDL4X macOS (aarch64-darwin) Work Mac. darwin/default.nix common, darwin
frame NixOS (x86_64-linux) Desktop workstation. nixos/frame/default.nix common, nixos

Media servers

Machine Type Purpose Config Includes
jellyfin NixOS VM Media server (Jellyfin). nixos/jellyfinvm/default.nix common, nixos
srvarr NixOS VM Media automation stack (Arr suite). nixos/srvarrvm/default.nix common, nixos

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •