The `just` Menu — Control Panel

The template ships with around 150 just recipes covering everything from building ISOs to managing secrets. The interactive menu puts all of them a keystroke away — no need to memorise recipe names, consult the README, or tab-complete your way through a flat list.

Launch it with a single command:

just

Zero dependencies beyond just itself (pure Bash, no Python, no fzf). It works anywhere the dev shell runs.


Quick start

# Enter the dev shell (provides just, nixd, statix, deadnix, and more)
nix develop

# Open the interactive menu
just

If just is already on your PATH you can skip nix develop and run just directly from the repository root.

Menu showcase


How it works

  1. Numbered categories are shown on the main screen. Type a number and press Enter to open that group.
  2. Numbered items appear inside each category. Each item shows a short description of what the recipe does.
  3. Command preview — before anything runs, the exact just command is printed so you can see precisely what will execute.
  4. Confirm prompt — type Y (or just press Enter) to run, n to cancel and return to the category.
  5. Navigation — press b to go back to the main menu, q to quit at any prompt.
  6. Host auto-detection — the menu reads your current hostname automatically. You are only prompted for a host argument when the recipe needs one that differs from the default.
  7. Guided prompts — recipes that require arguments (e.g. a host name, a secret name) show a prompt with a sensible default in brackets. Press Enter to accept the default or type your own value.
  8. Color-safe — ANSI colors are enabled by default and automatically disabled when output is piped or when the NO_COLOR environment variable is set.

Main menu


The categories

1. Build & Apply

Day-to-day system management: build, activate, and roll back NixOS configurations.

Build & Apply


2. Create Host/User

Scaffold new host and user configurations from the built-in presets and templates.

Create Host/User


3. VMs & Testing

Build, run, and introspect virtual machine configurations.

VMs & Testing


4. Installer ISOs

Build custom NixOS installer images ready to flash to USB.

Installer ISOs


5. Desktops

Explore and test desktop environment configurations.

Desktops


6. macOS & WSL2

Manage nix-darwin (macOS) configurations and WSL2 NixOS archives.

macOS & WSL2


7. Quality & Format

Keep the codebase clean with linting, formatting, and pre-commit checks.

Quality & Format


8. Secrets

Manage age-encrypted secrets with agenix.

Secrets


9. Maintenance & Info

Housekeeping, store management, and reference information.

Maintenance & Info


Power users

The menu is a convenience layer; every recipe is still directly callable:

# Raw recipe list (no menu, machine-friendly)
just list

# Run any recipe directly — same as always
just switch
just build-iso-minimal
just new-host my-pc workstation

# Pass extra arguments
just test my-laptop
just edit-secret api-key

just <recipe> bypasses the menu entirely and runs immediately, so existing scripts and muscle memory continue to work without any changes.