# config/ — the opinionated default environment These files are the **source of truth** for sl0ppij's shipped configuration. Until this snapshot they existed only as live dotfiles in `~/.config/zellij`, versioned by hand-rolled `config.kdl.pre-` backups. | file | what it is | |---|---| | `config.kdl` | "unlock-first" keybinds (`Ctrl g` leader), pane frames, plugin bindings, sl0p fork options | | `layouts/default.kdl` | the default tab layout | | `layouts/default.swap.kdl` | responsive swap layouts (stacked-pane behaviour) | | `themes/gruber-darker-pop.kdl` | the default theme | | — | the layouts require **both** shipped wasm plugins: `zjstatus.wasm` (built from `sl0pstatus/`) *is* the status bar, and `pane-finder.wasm` is bound in `config.kdl` | | `themes/templeos.kdl` | alternate 16-color VGA theme | | `answers.example.md` | seed for a project's `.pi-answers.md` (answer-picker buttons) | ## Editing workflow Edit **here**, then `make install-config` to sync into your live config dir. Do not edit the live dotfiles directly any more — they are now a build output. ## `plugins/` is a trusted directory A wasm plugin in `/plugins/` (or the data dir's `plugins/`) gets the permissions it asks for **without the consent prompt** — that is how the shipped `pane-finder.wasm` and `zjstatus.wasm` start silently on a fresh machine instead of opening with a three-item "Allow? (y/n)" screen the first time you press their keybinding. The boundary is that directory, nothing wider: the same wasm loaded from anywhere else still prompts, and remote (`http(s):`) plugins are never trusted. The reasoning is that anything able to write into your config dir can already bind arbitrary commands to a key in `config.kdl`, so a consent screen for the wasm sitting next to it protects nothing. **Do not use `plugins/` as a download folder** — put a plugin you are evaluating anywhere else, and it will ask. Rule and rationale: `plugin_is_shipped_with_sl0ppi` in `zellij-utils/src/input/permission.rs`. Checked end to end, both halves, by `packaging/checks/plugin-permissions-live.py`. ## Rename status Repointed at sl0ppij's own dirs now that the rename has landed (docs/rename.md): - `file:~/.config/sl0ppij/plugins/pane-finder.wasm` (config.kdl) - `file:~/.config/sl0ppij/plugins/zjstatus.wasm` (layouts/default.kdl) - builtin plugins use the `sl0ppij:` URL scheme (`zellij:` still parses) - comments no longer reference `~/.config/zellij` or the old `~/lol/zellij` checkout Verified with `sl0ppij setup --check` against a staged config dir: *CONFIG FILE: Well defined*. Still assumed: `theme "gruber-darker-pop"` requires `themes/` installed alongside.