Skip to main content

Documentation Index

Fetch the complete documentation index at: https://jacobpevans-docs-automation-surface.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Reproducible everything. nix build and walk away.
The four Nix repos are layered, not parallel. nix-darwin sits at the top and orchestrates the macOS system. nix-home defines the user environment via home-manager. nix-ai packages every AI coding tool — Claude, Gemini, Copilot, MLX, MCP servers. nix-devenv provides reusable project-level dev shells.

Ecosystem

nix-darwin (coral) is the system root. It imports nix-home and nix-ai (green). nix-devenv (ink) is a parallel concern — each project pulls it directly via nix flake init.
LayerRepoWhat it owns
macOS systemmacOS hostenvironment.systemPackages, sudoers, security, Touch ID, system-level config
User environmentUser environmenthome.packages, programs.* for zsh, git, tmux, direnv, ssh, gh
AI toolingAI toolingClaude Code, Gemini, Copilot, MLX, MCP servers — declarative, version-pinned
Per-project shellsDev shellsReusable flake.nix templates entered via direnv on cd

Package placement

The boundary between system, user, and project is intentional:
  • environment.systemPackages (nix-darwin) — core bootstrap, macOS-only tools, GUI apps
  • home.packages (nix-home) — user dev tools, linters, CLIs that follow $HOME
  • AI packages (nix-ai) — Claude, Gemini, Copilot, MLX, MCP servers
  • Project dev shells (nix-devenv) — language- or stack-specific tooling that should not pollute the global PATH
programs.* declarations follow the same boundary; home-manager merges both layers cleanly.

Repos in this section

nix-darwin

macOS system config. Imports nix-ai and nix-home. The top-level entry point.

nix-ai

Every AI coding tool, packaged. Claude Code, Gemini CLI, Copilot, MLX, MCP servers.

nix-home

User dev environment via home-manager. Shell, editor, git, dev tools.

nix-devenv

Reusable per-project dev shells. nix flake init -t github:JacobPEvans/nix-devenv#mkshell.

Why four repos, not one

Each layer is independently useful. nix-devenv is consumed by every other repo in the portfolio via nix flake init. nix-ai is consumed by personal config and by team setups. Splitting them keeps the dependency graph clean and lets each layer iterate at its own pace.