Skip to content

✨ feat(starship): template the prompt with ANSI colours that track de… - #15

Merged
anIcedAntFA merged 9 commits into
mainfrom
feat/starship-ansi-palette
Sep 22, 2026
Merged

anIcedAntFA merged 9 commits into
mainfrom
feat/starship-ansi-palette

Conversation

@anIcedAntFA

Copy link
Copy Markdown
Owner

…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

What & why

Checklist

  • Ran just check locally and it passes (format, lint, secret scan)
  • No private data (emails, hosts, tokens, company names) is committed
  • Docs updated if behavior or setup changed (README / docs/)

@anIcedAntFA anIcedAntFA self-assigned this Jul 25, 2026
…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
anIcedAntFA force-pushed the feat/starship-ansi-palette branch from b97d2e2 to 3008ddc Compare September 20, 2026 14:32
- 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
@anIcedAntFA
anIcedAntFA merged commit dd7e52d into main Sep 22, 2026
1 check passed
@anIcedAntFA
anIcedAntFA deleted the feat/starship-ansi-palette branch September 22, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant