✨ feat(starship): template the prompt with ANSI colours that track de… - #15
Merged
Merged
Conversation
…sktop mode - Rename starship.toml to starship.toml.tmpl and style every module with ANSI colour names, so the prompt follows Ghostty's Latte/Dracula swap for free with no palette block; bun and Cloudflare brand marks keep hex on purpose - Add the hostAlias chezmoi var so the prompt shows a short label instead of the real hostname; wired through .chezmoi.toml.tmpl, README, and chezmoi.md - Document the design in docs/starship.md and ADR 0009 (ANSI over hex palette) - Refresh HANDOFF.md and ignore skills-lock.json
…apshots - Remove waterfox-bin and tuxedo from both snapshots: no longer used - Remove google-breakpad, which is already absent from the machine — it was only ever in aur.txt as a foreign dependency - Drop the waterfox-bin link from the browsers row in docs/packages.md - Record in CONTEXT.md that pacman's explicit flag is mutable, so a snapshot is a record of intent and must not be regenerated wholesale from -Qqe/-Qqm: ripgrep, fd, fzf, gnupg and gnome-keyring are all demoted-but-still-wanted today
- Drop the Mod+Shift+T bind and the com.tuxedo.todo float window-rule; the key is left unbound rather than rebound - Delete docs/tuxedo.md and its rows in README.md, docs/packages.md and docs/niri-keybindings.md - Point the floating-layer example in docs/niri-concepts.md at the Noctalia settings window, the config's remaining auto-float rule
anIcedAntFA
force-pushed
the
feat/starship-ansi-palette
branch
from
September 20, 2026 14:32
b97d2e2 to
3008ddc
Compare
- Replace the flat module list with System / Desktop / Hardware / Dev groups, each in an ANSI-named color so it follows the latte/dracula switch - Drop absolute cursor escapes and display.key.width — both position by column, so a value longer than the column they assume pushed the border outside the box or overwrote the key; keys are padded with plain spaces instead - Add Noctalia, greetd + tuigreet, darkman theme, the terminal stack and the runtimes; drop Fetched, Locale, Chassis, Rust, Clang, Zig and OS Age - Read wrangler's version from mise's package.json (477 ms to 2 ms) and keep a static (pacman · yay) label rather than pay 134 ms for pacman -Qm - Document the no-absolute-escape rule and the per-module cost table
…e palettes - Commit each logo as a mask — one character per pixel, each letter naming a colour region — so the art is legible in a diff and redrawing means editing the mask, not regenerating escapes that were never reviewable - Render two mask rows into one terminal row as a half block, making pixels square instead of 1x2 and doubling the vertical resolution - Resolve masks against a light/dark palette read from the color-scheme gsetting, fixing art that was invisible in one mode: yay ran 1.08:1 against Dracula, five of seven logos failed in one theme or the other - Split the outline into two roles — one colour cannot separate a figure from the ground, a mid-tone body and a pale face at once - Redraw nuxcut, yay and hungry-grizz from the thumbnails; drop the mirror guard on hungry-grizz, which no 3/4-view subject can satisfy - Keep raw-escape logos working untouched via a dual-format path
- Draw the handle in block letters as a raw-escape logo, for a rotation entry that is text rather than an animal
- Pad every key to 13 columns across all four groups so values line up in one column down the whole banner - Replace Uptime with a reboot flag on Kernel — a directory test for the running release, 1 ms, versus 8 ms for pacman -Q - Give each Dev row exactly one category and one icon - Show how to pin a single logo instead of the rotation, and why file-raw cannot be used for a mask - Drop the sun/moon glyph from the Theme value: it restated the "· light" / "· dark" already in the text, so the one-icon-per-row rule is now exceptionless
- Fail validate-fastfetch when a mask's two palettes disagree, or a grid letter has no entry — that renders as an empty escape, so a region silently loses its colour while the art still lines up, exactly like the PUA trap - Add `just preview-logo <name>` to render one logo in both modes, since the rotation is random and re-running ff is a poor way to review a specific piece
- Add ADR 0024 narrowing ADR 0023: its "style with an ANSI name" rule governs output whose producer cannot detect the mode, which random-logo can. ANSI names could not fix this anyway — color0 is dark in both themes, so slots 0-15 give theme-consistent hues, not the luminance inversion a filled figure needs - Document both logo formats, the subject/ring colour split and the 2.5:1 floor - Define Canvas vs art, Mask, and Subject vs ring colour in CONTEXT.md, avoiding "identity" for a subject colour since the glossary already books that word for MineScheme and for git config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…sktop mode
What & why
Checklist
just checklocally and it passes (format, lint, secret scan)docs/)