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
| Command | Aliases | Purpose |
|---|---|---|
just setup |
just s |
Bootstrap and apply everything |
just update |
just up |
Update userland, dotfiles, and host setup |
just dotfiles-diff |
just diff |
Preview pending chezmoi changes |
just apply [targets...] |
just a |
Apply all dotfiles or only the given targets |
just status |
- | Show Spectrum image status |
just doctor [profile] |
- | Check every workflow dependency or one profile |
just determinate-status |
- | Show the Determinate version, features, and daemon state |
just determinate-upgrade |
- | Upgrade installer-managed Determinate Nix |
just nix |
just nx |
Install Nix and ensure its profile tools are available |
just spectrum-validate |
just validate |
Validate the BlueBuild recipe and base digest |
just spectrum-build |
just build |
Build Spectrum locally |
just fmt |
just f |
Format the repository |
just check-format |
just cf |
Check repository formatting without retaining rewrites |
just lint |
just l |
Run static checks |
just check |
just c, just ck |
Run the full validation suite |
just python-typecheck [args...] |
just typecheck |
Type-check Python, forwarding optional arguments |
just watch [recipe] |
just w |
Rerun a recipe when files change |
just reboot |
just r |
Reboot the Linux host after confirmation |
just help [command] |
just h |
List recipes or show command usage |
Run just help <command> with either a command or alias for argument details.
For direct Nix work, drop down a level:
nix develop
just nix-check