boma/roles
sjat f3f382ae69 Add dev_env role: zsh/tmux/nvim for workstation-class hosts
A new role (separate from base) that gives workstation-class hosts (ubongo
now, mamba later) a clean interactive environment: zsh + oh-my-zsh +
oh-my-posh, tmux + TPM plugins, and neovim. Dotfiles are real files deployed
via GNU stow (not templated); pinned nvim v0.12.2 + oh-my-posh 29.0.1.

Configs re-derived (ADR-013) from AnsibleBaobabV4 + the operator's fisi setup
on boma's terms: no Nerd Font (headless host), no system LSP suite (nvim uses
mason), versions pinned (V4 tracks latest). Applied via playbooks/workstation.yml
to the control group for users sjat + claude. Lint + Molecule (idempotent) green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 13:50:11 +02:00
..
base feat(base): add ssh-from-control management-plane source (ADR-021) 2026-06-09 17:43:55 +02:00
dev_env Add dev_env role: zsh/tmux/nvim for workstation-class hosts 2026-06-11 13:50:11 +02:00
README.md Reconcile CI to trunk-based; mark base/docker_host not-built (R6-R8,R15-R16) 2026-05-30 19:32:37 +02:00

roles/

Local Ansible roles. No Galaxy roles — every role is written and maintained here (ADR-003). Scaffold new ones with make new-role NAME=<name>; never create the directory structure by hand.

Each role must have: a molecule/default/ scenario (Debian 13), a populated README.md, and a filled-in meta/main.yml. Conventions: CLAUDE.md and docs/runbooks/new-role.md.

Current state: base and docker_host are not built yet — they exist only as empty, untracked dirs, so site.yml would fail on a clean clone. Build them with make new-role when defining the baseline. See STATUS.md.