Files
Panama/config/firefox/chrome/icons/private-window.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

5 lines
916 B
XML

<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" fill="context-fill" fill-opacity="context-fill-opacity">
<path d="m3.25 0c-1.241 0.004388-2.246 1.009-2.25 2.25v9.5c0.00439 1.241 1.009 2.246 2.25 2.25h3.99c-0.1098-0.3225-0.2246-0.6595-0.2352-1h-3.754c-0.696 0-1.25-0.554-1.25-1.25v-7.75h13v-1.75c-0.004388-1.241-1.009-2.246-2.25-2.25zm0 1h9.5c0.696 0 1.25 0.554 1.25 1.25v0.75h-12v-0.75c0-0.696 0.554-1.25 1.25-1.25z"/>
<path d="m12 5a2.5 2.5 0 1 0 2 4h-2a1.5 1.5 0 0 1 0-3h2a2.496 2.496 0 0 0-2-1zm0 2v1h2.45a2.512 2.512 0 0 0 0-1zm-2.45 4c-0.464 0-0.855 0.236-1.116 0.53-0.26 0.29-0.434 0.684-0.434 1.09v0.32c0 1.633 1.633 3.06 4 3.06 1.24 0 2.28-0.392 2.988-1h-2.988c-2.03 0-3-1.172-3-2.06v-0.32c0-0.126 0.06-0.29 0.182-0.427 0.119-0.133 0.254-0.193 0.369-0.193h6.316a1.777 1.777 0 0 0-0.3-0.47c-0.262-0.294-0.653-0.53-1.118-0.53h-4.898zm2.45 2v1h3.762c0.147-0.315 0.23-0.653 0.238-1z"/>
</svg>