Agentix began as a command-line control layer for NixOS configuration work. The first milestone was not full autonomy. It was building a proposal-first workflow that could be trusted.

The core behavior is simple:

  1. inspect the workspace
  2. create a proposal patch
  3. ask before applying
  4. apply through Git
  5. run verification
  6. stop before live activation

This makes the agent legible. Every change is a patch. Every patch can be reviewed. Every applied patch can be checked.

The repositories

The work is split across two repositories:

  • the Agentix CLI repository
  • the NixOS configuration repository

Agentix keeps its working memory in its own repo and syncs a checkpoint copy into the NixOS config repo. That gives each milestone a durable handoff point.

Goal runner

One of the key MVP features is the high-level goal runner:

agentix run "add package btop" --path ~/nixos-config --dry-run
agentix run "create module ai with template packages" --path ~/nixos-config --dry-run

Dry-run mode parses the goal and explains what Agentix would do without changing files.

Supported real goals can create patches, ask for approval, apply them, add new files to Git, and verify the result:

agentix run "create module ai with template packages" --path ~/nixos-config

The goal runner is intentionally narrow. It only supports specific known-safe workflows. That is a better MVP strategy than pretending a natural-language agent can safely edit any system configuration from day one.

Verification without switching

Agentix can verify a NixOS configuration without activating it:

agentix verify --path ~/nixos-config --host nixos
agentix verify --path ~/nixos-config --host nixos --json

The JSON mode is important because future agents need machine-readable results. Human text is useful for operators, but structured output is how automation can make safe decisions.

The human activation boundary

The final activation remains human-controlled:

cd ~/nixos-config
rebuild-nixos

Agentix should never silently cross that line. This is the project’s most important safety boundary.