My personal workstation config for Spectrum/Bluefin, NixOS, and macOS
Important
This repository is for my machines. It's public for reference, but it isn't a reusable installer or a supported project
The goal is to make every machine feel like mine without maintaining the same config four times
I keep the repo at ~/dotfiles:
git clone https://github.com/4evy/dotfiles.git ~/dotfiles
cd ~/dotfilesSpectrum / Bluefin
On a fresh Bluefin install, I switch to the Spectrum image:
sudo bootc switch ghcr.io/4evy/spectrum:latest
systemctl rebootAfter the reboot, I finish the setup:
cd ~/dotfiles
just setupNixOS
On an installed NixOS system, I apply the flake and finish the shared setup:
sudo nixos-rebuild \
--option extra-substituters https://install.determinate.systems \
--option extra-trusted-public-keys cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM= \
--flake .#nixos \
switch
just setupThe extra cache options are only needed for the first rebuild. Afterward, this shorter command is enough:
sudo nixos-rebuild switch --flake .#nixosmacOS
This path needs macOS 26 or newer. From the cloned repo, I run:
./ansible/bootstrap.sh --setupThe script bootstraps Homebrew and Ansible, installs the userland, applies the dotfiles, and configures the Mac. It asks for administrator and 1Password access when needed
just or just --list shows every recipe
Everyday commands
just setup # Bootstrap and apply everything
just update # Update userland, dotfiles, and host setup
just dotfiles-diff # Preview pending chezmoi changes
just apply # Apply chezmoi dotfiles only
just status # Show Spectrum image status
just determinate-status # Show Determinate version, features, and daemon state
just determinate-upgrade # Upgrade installer-managed Determinate Nix
just spectrum-validate # Validate the BlueBuild recipe and base digest
just spectrum-build # Build Spectrum locally
just spectrum-inspect # Inspect and test the local image
just fmt # Format the repository
just lint # Run static checks
just check # Run the full validation suiteFor direct Nix work, drop down a level:
nix develop
nix flake check