Skip to main content
Isabel’s Dotfiles uses just as a command runner to simplify common development and system management tasks. This page documents all available commands organized by their functional groups.
Prerequisites:
  • just installed on your system
  • You’re in the dotfiles repository root directory

Quick reference

Run just without arguments to see all available commands:
just

Rebuild commands

These commands rebuild your NixOS or nix-darwin system with the current configuration.
Switch to the new system configuration immediately and make it the default for the next boot.
just switch
You can pass additional arguments to the underlying rebuild command:
just switch --show-trace
This command automatically shows a diff of what changed between the previous and new system configurations using lix diff.
Make the new configuration the default for the next boot without switching to it immediately.
just boot
Useful when you want to apply changes on the next reboot without disrupting your current session.
Test the new configuration by activating it in the current session, but don’t make it the default for the next boot.
just test
Perfect for testing changes before committing to them. The configuration will revert on reboot.
Deploy a configuration to a remote host via SSH.
just deploy <host> [args...]
Example:
just deploy minerva
just deploy athena --show-trace
This command:
  1. Captures the current system state on the remote host
  2. Deploys the new configuration
  3. Shows a diff of what changed
If the DEPLOY_SUMMARY environment variable is set, the diff output is appended to that file instead of being printed to stdout.
Deploy configurations to all remote hosts in sequence.
just deploy-all
Deploys to the following hosts in order:
  • minerva
  • athena
  • aphrodite
  • skadi
  • hephaestus
  • isis
Generates a deployment summary at the end showing all changes across all hosts.
macOS only
Bootstrap a new macOS system with nix-darwin.
just provision <host>
Example:
just provision valkyrie
This command runs the initial nix-darwin setup and removes the non-declarative Lix installation.

Package commands

Build system images and archives.
Build an ISO installation image for a specified configuration.
just iso <image>
Example:
just iso minerva
The built ISO will be available in the result directory.
Build a tarball of a system configuration.
just tar <host>
Example:
just tar athena
Creates a complete system tarball that can be deployed to containers or minimal environments.

Development commands

Tools for developing and maintaining the configuration.
Check the flake for errors and evaluate all system configurations.
just check
Pass additional arguments to nix flake check:
just check --show-trace
This command uses --option allow-import-from-derivation false to prevent expensive IFD operations during checks.
Open a Nix REPL with a specific host configuration loaded.
just repl-host [host]
Examples:
just repl-host minerva
just repl-host  # Uses the current hostname
Useful for inspecting configuration values and debugging.
Update flake inputs and commit the lock file.
just update [input...]
Examples:
just update              # Update all inputs
just update nixpkgs      # Update only nixpkgs
just update nixpkgs home-manager  # Update multiple inputs
This command:
  1. Updates the specified inputs (or all if none specified)
  2. Refreshes the flake
  3. Creates a commit with a descriptive message
Build and serve the documentation site locally.
just serve
Opens a local development server to preview the documentation.
Push the repository to all configured mirrors.
just push-mirrors
Pushes to:
  • GitLab (isabelroses/dotfiles)
  • Codeberg (mirror)
  • Tangled (mirror)
See the Mirrors reference for more information.
Rotate all SOPS secrets in the repository.
just rotate-secrets
Note: The command contains a typo (roate-secrets) in the justfile. Use just rotate-secrets (with the typo) or just roate-secrets.
Finds all *.yaml files in the secrets/ directory and rotates their encryption keys using sops rotate.
Update secret keys for all encrypted files.
just update-secrets
Runs sops updatekeys on all YAML files in the secrets/ directory to ensure they’re encrypted with the current set of keys.

Utility commands

System maintenance and troubleshooting utilities.
Verify the integrity of the Nix store.
just verify [args...]
Example:
just verify --check-contents
Checks that all store paths are valid and haven’t been corrupted.
Verify and repair any broken paths in the Nix store.
just repair
Alias: just fixThis is equivalent to running just verify --check-contents --repair.
Clean up old generations and optimize the Nix store.
just clean
This command:
  1. Deletes unused store paths older than 3 days
  2. Optimizes the store by deduplicating identical files
Run this regularly to reclaim disk space, especially after system updates.

Environment variables

You can customize just command behavior using environment variables:
# Use a different flake location
FLAKE=/path/to/other/flake just switch

Platform detection

The justfile automatically detects your platform (macOS vs. NixOS) and adjusts commands accordingly:
  • On macOS: Uses darwin-rebuild for system operations
  • On NixOS: Uses nixos-rebuild with sudo and reexec disabled
Some commands are platform-specific. The provision command, for example, only works on macOS.

Build output formatting

All rebuild commands use nix-output-monitor (nom) to provide enhanced, colorful build output with progress tracking. This makes it easier to understand what’s happening during long builds.

Build docs developers (and LLMs) love