This repository contains my personal NixOS and Home Manager configurations, managing multiple machines and user environments declaratively using Nix flakes.
This configuration manages several different machines:
- alfred - x86_64 server running media services
- jamie-desktop - Main desktop PC with AMD CPU/GPU, gaming setup, development tools
- oci-vm - Oracle Cloud Infrastructure ARM64 virtual machine
- rpi5 - Raspberry Pi 5 running Home Assistant and network services
├── flake.nix # Main flake configuration
├── hosts/ # NixOS system configurations
│ ├── alfred/ # Media server
│ ├── jamie-desktop/ # Main desktop
│ ├── oci-vm/ # Oracle Cloud Infrastructure VM
│ ├── rpi5/ # Raspberry Pi with services
│ └── common/ # Shared system modules
├── home/ # Home Manager configurations
│ └── jamie/ # User-specific configs
└── modules/ # Custom NixOS and Home Manager modules
Build and switch to a configuration:
sudo nixos-rebuild switch --flake .#hostname
Apply Home Manager configuration:
home-manager switch --flake .#username@hostname
Deploy to remote systems:
nix run github:serokell/deploy-rs .#hostname