Arch Linux workstation toolkit steered by archy: thin install first, then optional YAML profiles for ML/AI and security. Shell backends do the work; evidence closes the loop. Works well on Omarchy.
For lore and humor, see FUNREADME.md. Safety: SAFETY.md. Roadmap: arch-design/coming-next.md. Control plane: docs/archy.md (tools/archy). Remote surfaces: docs/groxy.md Β· tools/groxy/README.md (bin/groxy).
flowchart LR
A[archy UI] -->|steers| B[Shell backends]
B --> C[Your machine]
B --> D[Evidence logs]
D -.->|next steps| A
G[groxy] -->|inject notify| X[XChat]
G -->|acp serve| Ag[grok agent]
archy shows a menu, runs a script, then highlights the next useful action.
It does not reimplement pacman logic in Rust.
groxy is separate: control a Grok agent (ACP) or notify yourself on XChat (inject).
| Goal | Path |
|---|---|
| Interactive control plane | archy (or make archy from this repo) |
| Full ML/AI workstation | ./install.sh --profile ml-dev |
| Security-focused workstation | ./install.sh --profile security-dev |
| Light base tools only | ./install.sh --profile minimal |
| Inventory / ownership | ./maintenance/inventory.sh --json (also in archy menu) |
| Omarchy host status | ./maintenance/omarchy-status.sh |
| Notify on XChat / remote ACP | ./bin/groxy (docs/groxy.md Β· tools/groxy/README.md) |
| Search tools & profiles | ./maintenance/catalog.sh docker |
| Package change plan (dry-run) | ./maintenance/package-actuate.sh --update jq |
| Security audit | ./maintenance/security-audit.sh |
| Evidence bundles | ./maintenance/extract-evidence.sh |
| Weekly updates + scans | maintenance/systemd-setup.sh setup |
Primary target: Arch Linux (including Omarchy). Not a multi-distro installer.
- Arch Linux, network,
sudo,git - Rust / cargo for
archy(main controller) yqorjqwhen needed (often auto-installed)
Review SAFETY.md before security-dev.
git clone https://github.com/p10ns11y/arch-machine.git
cd arch-machine
chmod +x install.sh
./install.sh
# same as: ./install.sh --thin
# Main controller (until SN-ARCHY-1 ships archy on PATH from thin install):
make archy
TINFOIL_ROOT="$PWD" ./tools/archy/target/debug/archy./install.sh --thin installs the shared runtime under /usr/share/tinfoil/ (backends + profiles). Day-1 interaction is archy, not the optional Go shim.
./install.sh --list-profiles
./install.sh --show-profile ml-dev
./install.sh --profile ml-dev --dry-run
./install.sh --profile minimal|ml-dev|security-devAfter a full profile:
# Log out/in if groups changed (docker, ROCm, β¦)
maintenance/systemd-setup.sh setup| Flag | Meaning |
|---|---|
(none) / --thin |
Thin runtime (default) |
--profile NAME |
Full profile install |
--dry-run |
Full-profile preview (pair with --profile) |
--validate |
Readiness checks only |
--tui |
Launch control plane (archy if present, else gum legacy) |
make archy
TINFOIL_ROOT="$PWD" ./tools/archy/target/debug/archy
# after SN-ARCHY-1 / when on PATH:
archyHome β run job β watch output β NEXT bar β Home
Keys: ββ select Β· Enter run Β· g brief Β· G/p Grok Β· ? help Β· q quit.
Simple guide: docs/archy.md Β· crate: tools/archy/README.md.
./maintenance/inventory.sh --json
./maintenance/omarchy-status.sh
./maintenance/catalog.sh docker
./maintenance/package-actuate.sh --update jq # dry-run default
./maintenance/security-audit.sh
./maintenance/extract-evidence.sh --dry-runOmarchy playbook: docs/omarchy.md.
- minimal β git, mise (python/node/rust), essentials
- ml-dev β + ROCm, conda (
ai_amd,xai_exp), data science - security-dev β + vault, k8s/security tooling, scanners
See docs/INSTALLATION.md Β· docs/MODULES.md.
./install.sh --validate
make validate-profiles
make archy
./tools/archy/target/debug/archy --print-root
./maintenance/extract-evidence.sh --dry-runarch-machine/
βββ tools/archy/ # MAIN controller β Ratatui entry + loop
βββ tools/groxy/ # XChat DM remote control (Eagle satellite, binary groxy)
βββ maintenance/ # shell backends (iron peak)
βββ install.sh # thin default; --profile for full
βββ config/profiles/ # minimal | ml-dev | security-dev
βββ modules/ # system, development, ml_ai, security, β¦
βββ lib/ # installer, evidence, gum TUI (legacy)
βββ bin/groxy # launches tools/groxy binary
βββ bin/tinfoil.go # optional thin dispatcher (not the product)
βββ docs/ # start at docs/INDEX.md
groxy works for any Grok project on the laptop. It is not arch-machine-only.
flowchart LR
Client[ACP client] -->|picks cwd| Serve[acp serve]
Serve --> Agent[grok agent serve]
Job[host job] --> Inject[inject]
Inject --> XChat[XChat notify]
Phone[Phone DM] -.->|no ambient path| TUI[open Grok TUI]
| Goal | How | Who is targeted? |
|---|---|---|
| Control a Grok agent | ./bin/groxy acp serve --cwd /path/to/project |
ACP client chooses bind + session/cwd |
| Notify on XChat | ./bin/groxy --live inject "status" --session-label name |
Outbound only; label names multi-project work |
| DM β βthe right TUIβ | not productized | Needs inbound transport and a session registry |
make groxy-test
# Control this workspace via ACP (any project path):
./bin/groxy acp serve --cwd "$PWD"
# Notify (optional label when many projects share one X account):
export GROXY_ALLOW_SELF=1
./bin/groxy --live inject "status" --session-label arch-machineShort README: tools/groxy/README.md.
Full guide (routing + Neovim ACP): docs/groxy.md.
- docs/archy.md β control plane in simple English + diagrams (incl. Grok plugin β archy cycle)
- docs/groxy.md Β· tools/groxy/README.md β notify + ACP control (any workspace)
- Grok plugin (slash
/arch-*): p10ns11y/plugins βarch-machine/; local~/Work/personal/plugins/arch-machineΒ·docs/CROSS-REF.md - docs/INDEX.md β architecture index
- arch-design/coming-next.md β backlog
- SAFETY.md Β· docs/INSTALLATION.md Β· docs/MAINTENANCE.md
- docs/omarchy.md Β· docs/BACKUP.md Β· docs/TROUBLESHOOTING.md
- AUTHORS-MOTTO.md
- Agent skill:
.agents/skills/eagle-satellite-elomaxz/
See LICENSE.
- Fork and branch
- Prefer new capability in
maintenance/*.sh, surfaces intools/archy - Verify with the commands above (
make lintwhen touching shell/docs) - Open a pull request
See docs/CONTRIBUTING.md.
