l-dotfiles-theming
How a wallpaper or theme switch recolors the system (wallust templates, theme verbs, themes/*.json, dot theme), adding a template or generator, and testing it…
Skill by lsck0
Chalk Labs
Need help deploying l-dotfiles-theming?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lsck0-l-dotfiles-theming
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/l-dotfiles-theming
What's inside
- Skill name
l-dotfiles-theming- Description
- How a wallpaper or theme switch recolors the system (wallust templates, theme verbs, themes/*.json, dot theme), adding a template or generator, and testing it on a dark and a light theme. Load when theming a new program or fixing colors.
- License
- MIT
- Instructions
- 72 lines in SKILL.md · view on GitHub
Before installing
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Agent Skills spec issues
- files: referenced but missing: scripts/lib/wallpaper.nu, scripts/lib/internal.nu, scripts/lib/wallpaper-list.nu
Files (1)
- SKILL.md
SKILL.md (first lines)
# theming
## Flow
`dot theme <wallpaper|path|random>` (`configs/core/wallust/wallpaper.nu`; no argument: picker) takes a wallpaper, not a
theme name: `dot theme "$(jq -r .wallpaper themes/<t>.json)"`. It links `$XDG_CACHE_HOME/wal/wallpaper`, then:
- A wallpaper named in a `themes/<theme>.json` applies that palette (`wallust cs`, plus its optional `"font"` into
`$XDG_CACHE_HOME/wal/font.json`); any other derives one (`wallust run`). Both write
`$XDG_CACHE_HOME/wal/nvim_theme`.
- wallust renders `templates/wal/*` to `$XDG_CACHE_HOME/wal/<same name>` (pywal placeholders `{background}`,
`{color0}`..). Other `[templates]` in `wallust.toml`: jinja at `templates/` (`{{color4}}`, `blend`),
`colors-steam.css` for millennium, `omarchy-colors.toml` to `~/.local/state/omarchy/current/theme/`.
- Then every enabled module's `theme [cfg, wallpaper]` verb runs (`dot internal theme apply`), returning declarations.
It reads `palette-load` (`bg`, `fg`, `c0`..`c15`, `light`, `bg_conditioned`) or `palette.nu`, the one conditioning
authority. Verbs run in parallel; `THEME_ORDERED` (`scripts/lib/internal.nu`) runs a few last, in order.
- Callers write the wallpaper into `$XDG_RUNTIME_DIR/theme.request`; `dot-theme.path` starts `dot-theme.service` for
each waiting request; each run applies the newest one (`TimeoutStartSec=5min`). `--sync` waits for it.
- quickshell recolours from `colors.json` through `Commons/Palette.js`, the JS port of `palette.nu`.
`palette.nu` also holds `RADIUS_PX`, `BORDER_PX`, `OPACITY_WINDOW`, `OPACITY_SURFACE`, `OPACITY_BAR`; modules write them
into configs, live readers (qutebrowser, nvim) use `~/.config/dotfiles/style.json`.
Each theme names its other-mode partner in `"pair"` (`toggle-theme-mode.nu` flips to it). `themes.test.nu` checks the
pair and contrast floors: fg, color4, color12 4.5:1 (dark also color7, color15), other accents and color8 3:1. Every
theme's wallpaper has a public copy in `wallpapers/`; names resolve from `~/sync/wallpapers/` first (bought set,
`wallpaper-import`), then `wallpapers/`.
## Add a template
1. `configs/core/wallust/templates/wal/colors-<tool>.<ext>` with the placeholders.
2. Point the program at `$XDG_CACHE_HOME/wal/colors-<tool>.<ext>` in its module's `link`.
3. Needs a reload: a `theme` verb that pokes it (`configs/desktop/kitty/mod.nu`).
## Add a generator
1. A `theme` verb in the program's `mod.nu` (`configs/core/btop/mod.nu`); dot discovers it.
2. Write under `$XDG_CACHE_HOME/wal/` or render the whole config with `file-text --generated`
(`configs/core/herdr/mod.nu`); never into a file linked from the repo.
3. Must run after another verb: add it to `THEME_ORDERED`.
4. Conditioning changes go into `palette.nu` and `Palette.js` (`palette.nu js --write`); `dot test check` compares
both on a dark and a light palette.
## Test
```bash
dot internal theme get # remember the current wallpaper
dot theme --sync "$(jq -r .wallpaper themes/void.json)"
dot theme --sync "$(jq -r .wallpaper themes/gruvbox-light.json)"
dot theme --sync <remembered path>
```
Output in `journalctl --user -u dot-theme.service`. Check `$XDG_CACHE_HOME/wal/<file>`, the look (headless screenshot,
`l-dotfiles-gui-testing`) and light-theme contrast. `git status` stays clean. A full user run reruns the switch when
`configs/core/wallust`, `themes/` or any `mod.nu` changed (stamp `$XDG_CACHE_HOME/wal/.theme-stamp`); any apply
reruns the `theme` verb of each module it applied.From lsck0/arch-dotfiles, MIT.
More from lsck0/arch-dotfiles
- 0.606score
l-agent-task-db
lsck0
Shared taskwarrior/timewarrior conventions for the task-mode skills: db layout, tasks/context/ folder, stage/human-in-the-loop tag vocabulary, scaffolding.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
l-multi-agent-task-mode
lsck0
Self-poll a per-project taskwarrior db and spawn persona workers (Herdr/Hermes under HERDR_ENV, else Claude Code Agent tool) to advance multiple +agent-task…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-auto-memory
lsck0
Keep a project's agent knowledge current: a per-project skills/ folder of project-specific workflows (how to use the project, develop on it, use its tools…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-dotfiles-gui-testing
lsck0
The one procedure for launching an app, game, editor or viewer only to screenshot or check it, on a headless Hyprland output of the agent's own, with muted…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-dotfiles
lsck0
Layout and conventions of Luca's arch-dotfiles repo (~/projects/arch-dotfiles), the source of truth for his system configuration: configs, platforms, install…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-dotfiles-apparmor-profile
lsck0
Writing or adjusting an AppArmor profile or local/ drop-in in configs/base/apparmor, loading it, reading denials, apparmor.test.nu, and the enforce vs…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-multi-agent-mode
lsck0
Live orchestrator for one idea worked now, no task db: task-planner plans, orchestrator spawns/drives workers (Herdr/Hermes under HERDR_ENV, else Claude Code…
SkillAFreshness: A★ 3Claude Code +9 - 0.600score
l-dotfiles-streaming
lsck0
The OBS setup in configs/creating/obs (the Streaming, VirtualCam and Bare collections, profiles, websocket on 4455, obs-mcp, the bar's obs widget, the…
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
l-persona-auditor-general
lsck0
Passive general audit: best practices, style, maintainability.
SkillAFreshness: A★ 3Claude Code +9 - 0.597score
l-dotfiles-quickshell-dev
lsck0
Editing the quickshell shell (bar, launcher, lock, notifications, OSD) in configs/desktop/quickshell, live reload, logs, IPC calls and screenshots of its…
SkillAFreshness: A★ 3Claude Code +9 - 0.597score
l-dotfiles-install
lsck0
Installing a machine from this repo (owner, generic, WSL), how the unattended boot chain runs, and adding another login on an installed machine.
SkillAFreshness: A★ 3Claude Code +9 - 0.597score
l-dotfiles-vm-test
lsck0
The end-to-end test, dot test run: bootstrap from the Arch ISO in a libvirt VM through the whole unattended chain, plus its logs, screenshot and teardown.
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 21, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/lsck0/arch-dotfiles
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lsck0
- 0.606score
l-agent-task-db
lsck0
Shared taskwarrior/timewarrior conventions for the task-mode skills: db layout, tasks/context/ folder, stage/human-in-the-loop tag vocabulary, scaffolding.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
l-multi-agent-task-mode
lsck0
Self-poll a per-project taskwarrior db and spawn persona workers (Herdr/Hermes under HERDR_ENV, else Claude Code Agent tool) to advance multiple +agent-task…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-multi-agent-mode
lsck0
Live orchestrator for one idea worked now, no task db: task-planner plans, orchestrator spawns/drives workers (Herdr/Hermes under HERDR_ENV, else Claude Code…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-dotfiles-apparmor-profile
lsck0
Writing or adjusting an AppArmor profile or local/ drop-in in configs/base/apparmor, loading it, reading denials, apparmor.test.nu, and the enforce vs…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-dotfiles
lsck0
Layout and conventions of Luca's arch-dotfiles repo (~/projects/arch-dotfiles), the source of truth for his system configuration: configs, platforms, install…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
l-dotfiles-gui-testing
lsck0
The one procedure for launching an app, game, editor or viewer only to screenshot or check it, on a headless Hyprland output of the agent's own, with muted…
SkillAFreshness: A★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get l-dotfiles-theming running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
l-dotfiles-theming skill. Agent Mart. https://agentmart.dev/skills/lsck0-l-dotfiles-theming (last updated 2026-10-24)