Daily Workflows
This page is the short operational guide for trying the repo locally. It is intentionally practical.
Explore Outputs
nix flake showRebuild the Current Machine
If your local setup has hms available:
# build and print the candidate system path
hms build
# preview system closure and service changes
hms diff
# build and activate, also the default when no action is given
hms switch
hmsEquivalent behavior is defined in mods/hms.nix.
On NixOS, diff combines nvd diff with the systemd activation plan from dry-activate. On nix-darwin it combines nvd diff with changed launchd plist definitions. Here, switch means "build the configuration and activate it on the target machine".
Build or Switch a Specific Host
# build explicit host switch helper
nix build --no-link --print-out-paths --extra-experimental-features nix-command --extra-experimental-features flakes .#hmx.<host>
# build, diff, or switch through the host-specific wrapper
$(nix build --no-link --print-out-paths --extra-experimental-features nix-command --extra-experimental-features flakes .#hmx.<host>)/bin/switch build
$(nix build --no-link --print-out-paths --extra-experimental-features nix-command --extra-experimental-features flakes .#hmx.<host>)/bin/switch diff
$(nix build --no-link --print-out-paths --extra-experimental-features nix-command --extra-experimental-features flakes .#hmx.<host>)/bin/switch switchBuild a Host Without Switching
nix build .#nixosConfigurations.<host>.config.system.build.toplevel
nix build .#darwinConfigurations.<host>.systemBuild a Package
nix build .#<package-name>Examples:
nix build .#zaddy
nix build .#llama-cpp-latestInspect and Test the Local Overlay Delta
Compare every top-level attribute declared by the local overlay stack with the exact nixpkgs revision in flake.lock:
nix run .#overlay-diff
nix run .#overlay-diff -- --overrides
nix run .#overlay-diff -- --jsonFor one overridden derivation, compare its derivation closure with the pinned upstream derivation:
nix run .#ndiff -- bktBuild only named attributes from that manifest:
nix run .#overlay-check -- bkt concurrently caddyUse --dry-run to inspect the build plan. --all builds every supported, non-broken package discovered under pkgs/; packages with meta.skipBuild = true stay out of that batch.
The flake exposes this focused derivation set under packages, and keeps the complete overlayed nixpkgs universe under legacyPackages. Normal commands such as nix build .#bun still fall back to legacyPackages.
Regenerate and Preview Docs
cd docs
bun run docs:gen
bun run docs:devRun Repo Checks
nix flake check --no-build --no-write-lock-file
nix run .#jfmt -- --ci
nix run .#scripts.check_doc_links
nix run .#scripts.check_readme_index
nix run .#scripts.check_valeTo evaluate every supported custom package, including heavy packages that are excluded from __j_custom:
nix eval --json --no-write-lock-file \
.#lib.customPackageDrvPaths.$(nix eval --raw --impure --expr builtins.currentSystem) >/dev/null