Files
Panama/config/firefox/chrome/icons/settings.svg
T
Gabriel Brown 88497826ec Let a machine say what it is for, and give Firefox its face back
Phase 4: the optional application categories, and the Firefox chrome.

Everything Panama installed until now was what every machine gets, which meant a
work laptop acquired emulators and a desktop that wanted Steam had to be told
about it by hand. The interview now offers the categories in
setup/packages/extras/ as a checklist -- gaming, creative, communication,
virtualization -- and nothing is preselected, because a default here installs
applications nobody chose on a machine whose owner answered a question they
thought was about something else.

A category is one file, and a category mixes both package managers because the
applications do: Steam is in RPM Fusion, Slack publishes only a flatpak. So a
bare line is a dnf package and a flatpak: line is a Flathub ID, and one file
holds the whole answer rather than splitting each category across two. The menu
is read from the directory rather than written down, so adding a category is
adding a file. Every name in all four was resolved against the actual
repositories before being written down, and the contract re-resolves them --
the point of admitting applications one at a time is that they stay installable,
and a typo here fails on somebody else's machine, not this one.

Firefox is declared, and its chrome is Edge-Frfox, vendored into config/firefox.
sunhat carried that theme with no license and no attribution; it is MIT, and now
it says so and says whose it is.

It is the only piece of Panama's configuration that does not go to a path this
repository chooses. Firefox owns the profile directory, names it with a random
salt, and does not create one until the browser has been run -- so link-dotfiles
finds or creates a profile and links both halves into it. Both, or neither works:
chrome/ is the CSS and user.js sets the preference that makes Firefox read chrome/
at all, without which the theme is a directory of dead files.

Two assumptions there were wrong, and the contract exists for both. Firefox has
moved to the XDG directories -- the profile root is ~/.config/mozilla/firefox on
this build, not ~/.mozilla/firefox, and writing to the wrong one themes nothing
and says nothing about it. And -CreateProfile turns out to be non-interactive, so
a fresh machine gets the theme on the first install rather than the second. The
contract runs link-dotfiles for real against a throwaway home with no profile in
it and looks at what came out; it was checked by pointing the search at the
legacy path only and watching it fail.

Also: the enrolment/enrollment spellings from the last commit are corrected. This
repository is US-spelled everywhere else -- color 1131 times against colour never
-- and consistency in prose is worth as much as it is in code.

Claude-Session: https://claude.ai/code/session_01NvgBuSWB5sE43yWmg21ozj
2026-08-20 21:24:15 -04:00

4 lines
1.5 KiB
XML

<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" fill="context-fill" fill-opacity="context-fill-opacity">
<path d="M8 0a8.02 8.02 0 0 0-1.672.174.474.474 0 0 0-.367.377L5.617 2.44a.942.942 0 0 1-1.242.717L2.57 2.512a.47.47 0 0 0-.508.127A7.998 7.998 0 0 0 .386 5.537a.47.47 0 0 0 .143.504l1.463 1.242a.94.94 0 0 1 0 1.433L.529 9.958a.471.471 0 0 0-.143.504 7.988 7.988 0 0 0 1.676 2.898.47.47 0 0 0 .508.127l1.805-.644a.941.941 0 0 1 1.242.717l.344 1.889c.034.187.18.337.367.377A8.022 8.022 0 0 0 8 15.999c.567 0 1.126-.057 1.672-.173a.472.472 0 0 0 .366-.377l.345-1.89a.942.942 0 0 1 1.242-.717l1.805.645a.47.47 0 0 0 .508-.127 7.998 7.998 0 0 0 1.676-2.898.47.47 0 0 0-.143-.504l-1.463-1.242a.94.94 0 0 1 0-1.433l1.463-1.242a.471.471 0 0 0 .143-.504 7.988 7.988 0 0 0-1.676-2.898.47.47 0 0 0-.508-.127l-1.805.645a.941.941 0 0 1-1.242-.717L10.037.55a.472.472 0 0 0-.365-.376A8.027 8.027 0 0 0 8 0zm0 .941c.395 0 .786.032 1.17.096l.285 1.572a1.88 1.88 0 0 0 2.486 1.434l1.502-.537c.5.605.897 1.289 1.172 2.025l-1.219 1.033a1.883 1.883 0 0 0 0 2.87l1.22 1.034a7.043 7.043 0 0 1-1.173 2.025l-1.502-.537a1.882 1.882 0 0 0-2.486 1.433l-.285 1.572a7.135 7.135 0 0 1-2.342 0l-.283-1.572a1.88 1.88 0 0 0-2.486-1.433l-1.502.537a7.054 7.054 0 0 1-1.172-2.025l1.219-1.033a1.883 1.883 0 0 0 0-2.871L1.384 5.53a7.046 7.046 0 0 1 1.173-2.025l1.502.537a1.882 1.882 0 0 0 2.486-1.434l.283-1.572A7.132 7.132 0 0 1 8 .941zm0 4.56A2.5 2.5 0 1 0 8 10.5a2.5 2.5 0 0 0 0-5zm0 1a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z"/>
</svg>