Jordan Garrison's NixOS and Home Manager configurations for NixOS and macOS.
-
Clone the repository to your local machine
-
Build and switch to the configuration:
sudo nixos-rebuild switch --flake .#<hostname>
Available hosts:
endeavour
- Main desktop workstationvoyager
- MacBook Pro running NixOS
-
Clone the repository to your local machine
-
Build and switch to the configuration:
sudo darwin-rebuild switch --flake .#<hostname>
Available hosts:
H952L3DPHH
- Work MacBook
-
Clone the repository to your local machine
-
Build and switch to the configuration:
home-manager switch --flake .#<config>
Available configurations:
jordangarrison@normandy
- WSL/Ubuntu setup
├── flake.nix # Main flake configuration
├── hosts/ # Host-specific configurations
│ ├── endeavour/ # Desktop workstation
│ ├── voyager/ # MacBook Pro
│ └── flomac/ # Work MacBook
├── modules/ # Shared NixOS modules
│ ├── nixos/ # NixOS-specific modules
│ └── *.nix # Standalone modules
└── users/ # User configurations
├── jordangarrison/ # Jordan's user config
│ ├── nixos.nix # NixOS user module
│ ├── home.nix # Home Manager config
│ ├── configs/ # User-specific configs
│ └── tools/ # User-specific tools
└── <other-users>/ # Other family members
Update flake inputs (equivalent to updating channels):
nix flake update
After updating, rebuild your system:
# NixOS
sudo nixos-rebuild switch --flake .#<hostname>
# macOS
sudo darwin-rebuild switch --flake .#<hostname>
# Home Manager only
home-manager switch --flake .#<config>
- Flake-based configuration - Reproducible and version-locked
- Multi-platform support - NixOS, macOS, and WSL/Ubuntu
- Modular user management - Each user has their own folder with nixos.nix and home.nix
- Host-specific configurations - Easy to manage different machines
- Shared modules - Common functionality across all hosts