charly-cachyos
Recipe card from the charly-local plugin (Kinds — schema authoring).
charly-cachyos
Section titled “charly-cachyos”The operator’s CachyOS developer-workstation profile: a kind: local template
(charly-cachyos-app) plus a host: local deploy (charly-cachyos, the
deploying entry) that applies a kitchen-sink dev stack directly to the
current machine via ShellExecutor — no SSH, no VM, no container.
It lives in the opencharly/distro-cachyos repo (git submodule at
box/cachyos), in that repo’s single charly.yml — both the
kind: local template (charly-cachyos-app) and the charly-cachyos local: deploy
that deploys it. The repo also carries the cachyos-gpu deploy — the
persistent operator GPU-workstation VM (vm: { from: cachyos-gpu-workstation-vm },
not disposable; see /charly-vm:cachyos-bootstrap-vm) — so charly-cachyos is no longer
the only non-disposable deploy there; every disposable test bed is a
disposable: true deploy. Apply it with:
charly -C box/cachyos update charly-cachyos# or, anywhere:charly --repo opencharly/distro-cachyos update charly-cachyosWhat it installs
Section titled “What it installs”A large candy list. Most are pulled from the main repo by git reference
(@github.com/opencharly/charly/candy/<name>:<tag>); the cachyos-exclusive
ghostty, keepassxc-keyring, and wheel-nopasswd are vendored locally in this
repo’s candy/ (resolved via its discover: block):
wheel-nopasswd, yay, dev-tools, gh, pre-commit, tmux, direnv,
gnupg, keepassxc, keepassxc-keyring, tailscale, tailscale-up,
build-toolchain, golang, rust, nodejs, uv, claude-code, codex,
gemini, oracle, forgecode, devops-tools, docker-ce, kubernetes,
vscode, ghostty, chrome, nvidia, charly, and the DeepSeek Harness
family — pod-dsh/candy/dsh (the dsh CLI) and pod-dsh/candy/dsh-tui
(the dsh-TUI plugin; its candy ships the ollama-cloud LLM route as
~/.dsh/cordis.patch.yml).
The dsh web GUI is deliberately NOT composed here: the dsh-web
candy is a container service (supervisord + socat on container port
3081), which does not suit a host workstation. On a host the web UI is a
user-scope systemd unit exposed with tailscale serve --bg --https=3080 http://127.0.0.1:3080 (a 1:1 port map — dsh does not occupy 443; the
tailscale-up candy arms the operator permission); see /charly-tools:dsh.
The web UI has TWO independent auth layers — the launch token on / and
a Host/Origin browser-trust fence on /api/* — so a proxy that presents a
non-loopback Host must start dsh web with --trusted-host <host>:3080,
or / loads while every /api/* call returns 403.
Key fields
Section titled “Key fields”| Field | Value |
|---|---|
install_opts.builder_image |
ghcr.io/opencharly/arch-builder:2026.122.2252 (OCI ref, not a candy) |
install_opts |
with_service, allow_repo_changes, allow_root_tasks all true |
env |
EDITOR=nvim, PAGER=less |
disposable (deploy) |
absent/false — this real workstation requires operator authorization; unattended charly update charly-cachyos is forbidden |
Deploy-scope check probes
Section titled “Deploy-scope check probes”passwordless-sudo-host—sudo -n true(wheel-nopasswd candy must have run)nvidia-ctk-present—command -v nvidia-ctknvidia-cdi-spec—/etc/cdi/nvidia.yamlexistsdsh-cli-installed—~/.npm-global/bin/dshanddsh-tuiare executabledsh-version—dsh --versionprints a semantic versiondsh-tui-profile-installed—~/.dsh/profiles/dsh-tui/package.jsonexistsdsh-tui-version—dsh-tui versionreports the launcher/profile versiondsh-ollama-route-installed—~/.dsh/cordis.patch.ymldeclares theollama-cloudroute
Both nvidia-* probes gate on an active host NVIDIA driver
([ -e /dev/nvidiactl ] || nvidia-smi) and pass with an N/A note on a
card-less or VFIO-passthrough host, so the profile applies cleanly anywhere.
Composition-by-reference note
Section titled “Composition-by-reference note”charly-cachyos-app’s remote candy refs are collected and materialized by the
same CollectRemoteRefs walk as box candy refs: the walk collects the candy
refs of the ROOT project’s own kind: local templates (the cachyos repo is the
root here), so charly box validate / charly update charly-cachyos resolve the github-ref’d
candies. (Collection is reachability-scoped — a namespace’s kind:local
templates, imported only as a dependency, are NOT collected by an importer; only
the root’s own locals are. See /charly-internals:go “Remote-layer resolver”.)
Cross-References
Section titled “Cross-References”/charly-local:local-spec—kind: localtemplate authoring reference/charly-local:local-deploy— thetarget: localdeployment surface/charly-distros:cachyos— the CachyOS base of the same family/charly-core:deploy— deploy entry semantics (globally-unique names within a document: thecharly-cachyosdeploy ships the suffixedcharly-cachyos-appkind: localtemplate)
When to Use This Skill
Section titled “When to Use This Skill”MUST be invoked when editing or applying the charly-cachyos workstation profile, or reasoning about the kind:local remote-candy-ref machinery. Invoke BEFORE reading source code or launching Explore agents.

