mesh/merge-gate checking again: the gate refused `unknown` because the controller judged with a node-engine validator pinned before mesh-host #117; mesh-co…
mesh/repo-check checking again: the gate refused `unknown` because the controller judged with a node-engine validator pinned before mesh-host #117; mesh-co…
mesh/delivery-group group feat/owned-paths checking: 0 of 2 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
Every directory and archive resource carries `unknown`: move-out for a home folder whose program writes nothing there (the node-engine, delivered in mesh-host #117, moves the rest to ~/.local/state/mesh-moved/<module>/ with a list), module for ~/.ssh and ~/.claude, program elsewhere; `knows` keeps what a program or the operator relies on (powerlevel10k's compiled files, i3's scripts and the asus/g14 drop-ins, dunst's slack rule, betterbird's records, node-env's forge credential, issue 1033). Two shared folders are no longer declared. Each module's README says it. checks/owned holds every manifest to it; checks/sshdir stays while main's merge check runs it (issue 1035). Tests that pin a manifest follow the new key only. Reviewed in three rounds.
57 lines
3.7 KiB
Markdown
57 lines
3.7 KiB
Markdown
# powerlevel10k
|
|
|
|
The zsh prompt as a module (novox/hq ADR 0204, ADR 0205, to-be 41).
|
|
|
|
- **Upstream:** https://github.com/romkatv/powerlevel10k
|
|
- **Version:** v1.20.0, vendored verbatim from the release archive
|
|
(`archive/refs/tags/v1.20.0.tar.gz`, sha256
|
|
`d8187d44b697b3a37a8c4896678b4380e717cbf2850179529358348780a2d3d7`) into `theme/`. It is 86
|
|
files and 1,427,736 bytes.
|
|
- **Licence:** MIT, in `theme/LICENSE`, which travels in the archive. gitstatus's own licence is
|
|
`theme/gitstatus/LICENSE`.
|
|
|
|
The distribution does not package the theme, so the module carries a pinned release (ADR 0205). An
|
|
upgrade is a change to this directory, reviewed like any other: replace `theme/` with the new
|
|
release's contents, and update the version here and in the shell code's comment.
|
|
|
|
## What it places
|
|
|
|
| path under the account's home | what | class (ADR 0182) |
|
|
|---|---|---|
|
|
| `~/.local/share/powerlevel10k/` | the theme, unpacked from the `theme` archive | owned, whole |
|
|
| `~/.config/powerlevel10k/p10k.zsh` | the prompt's configuration, unpacked from the `configuration` archive | owned, whole |
|
|
|
|
Both directories are `unknown: move-out` (ADR 0422): they hold only what the archives declare, and anything
|
|
else found in them is moved out by the node-engine, never deleted.
|
|
|
|
The configuration is today's `~/.p10k.zsh`, byte for byte. It is the predecessor's file, and was
|
|
identical on every machine. It ships as an archive of one file rather than as an inline file. At
|
|
86 KB, inline content would ride in every declaration the node receives, and would be unreadable
|
|
JSON in review. As its own file it is reviewed as a diff, and pinned by digest like the theme. The
|
|
directory is the module's, so `p10k configure` writing `~/.p10k.zsh` does not touch it: to change
|
|
the prompt, change `config/p10k.zsh` here.
|
|
|
|
The module contributes zsh code to the `normal` slot of the login shell's block. That code sources
|
|
the theme, then the configuration, each only if present. Instant prompt is not turned on: the
|
|
operator's `.zshrc` has its cache line commented out today, and the configuration's own
|
|
`POWERLEVEL9K_INSTANT_PROMPT` setting does nothing without that line.
|
|
|
|
## What it does not do
|
|
|
|
- **gitstatus downloads its binary on first use.** The theme's git status helper fetches
|
|
`gitstatusd` from upstream's releases into `~/.cache/gitstatus` the first time a prompt runs in a
|
|
git repository. ADR 0205 pins what the mesh ships, not what the software fetches for itself. A
|
|
machine without a route to upstream shows the prompt without git status.
|
|
- **Fonts are not this module's.** The configuration uses Nerd Font icons. The terminal's font is the
|
|
desktop's concern.
|
|
- **Moving from the predecessor:** once this module is assigned, `~/.zsh/themes/powerlevel10k` and
|
|
`~/.p10k.zsh` are no longer read, and the operator removes them, once (ADR 0182; the zsh module's
|
|
README lists the lines to delete from `.zshrc`).
|
|
|
|
## Files it does not know
|
|
|
|
Each directory or archive this module declares says how it treats a file it did not write (ADR 0422, ADR 0416).
|
|
|
|
- `~/.local/share/powerlevel10k`: holds only what this module declares and the nine `.zwc` files the theme compiles into its own folder at every zsh start (`powerlevel9k.zsh-theme.zwc`, `powerlevel10k.zsh-theme.zwc`, `internal/{p10k,icons,configure,worker,parser}.zsh.zwc`, `gitstatus/gitstatus.plugin.zsh.zwc`, `gitstatus/install.zwc`; `powerlevel10k.zsh-theme` lines 62-70); anything else is moved out by the node-engine to `~/.local/state/mesh-moved/powerlevel10k/` with a list, never deleted (ADR 0422 §4).
|
|
- `~/.config/powerlevel10k`: holds only what this module declares; anything else is moved out by the node-engine to `~/.local/state/mesh-moved/powerlevel10k/` with a list, never deleted (ADR 0422 §4).
|