Take one machine's fingerprints off everyone's desktop

The audit's second tier: values that were measurements of the author's
desktop, shipped to every machine as if they were defaults.

Settings greeted every human as Gabriel; it now greets whoever
accountsservice says is signed in, and nobody when it says nothing. The
weather shipped his home coordinates and confidently reported his forecast
anywhere on earth; it now ships unset, fetches nothing until a location is
chosen, and the location row says so. The GTK bookmarks carried seven
/home/gib paths and his file server into every file dialog; they are now
generated per machine from a template and gitignored -- Nautilus edits the
instance freely, the way settings.ini already worked one file over. Web
search routed through his personal bang redirector; the engine is now the
webSearchUrl preference with a DuckDuckGo default, read by both the script
command and the suggestions extension, which the launcher-search contract
already pins to one another. The GPU vitals path defaulted to his card1 and
lost the readout on any machine enumerated differently; a machine with
exactly one GPU now adopts it. And the Containers and Snapshots pages hide
once a scan proves their backing stack absent, instead of rendering
permanently empty on machines that never had podman or snapper.

Lesser residue swept in the same pass: the DP-2 hyprpaper block one machine
needed, the author's username-typo expansions (moved to his personal seed in
user/, where personal content belongs), a capture fallback into /home/gib,
and a parity table asserting one machine's hardware as fact.

Claude-Session: https://claude.ai/code/session_01Epx9ZC1gwm81K3jm9x9CKh
This commit is contained in:
Gabriel Brown
2026-08-23 11:55:43 -04:00
parent 3d21e20041
commit 44124d72fa
20 changed files with 139 additions and 42 deletions
@@ -1297,28 +1297,44 @@ Singleton {
detail: "Which GPU the graphics readout in the bar measures"
},
// ── Search ──────────────────────────────────────────────────────────
// The launcher's web search appends the query to this. It shipped
// pointing at the author's personal bang redirector once; a stranger's
// searches belong to no one's server but the engine they chose.
{
key: "webSearchUrl", type: "string",
def: "https://duckduckgo.com/?q=", group: "search",
pattern: "^https://[^\\s]{1,200}$",
label: "Web search engine",
detail: "Where the launcher's web search sends a query; the search text is appended"
},
// ── Weather location ────────────────────────────────────────────────
// Coordinates rather than a place name, because that is what Open-Meteo
// takes and it needs no API key. weatherLocation is only the label shown
// in the UI; it is never sent anywhere, so it can say whatever makes the
// reading recognizable.
{
key: "weatherLatitude", type: "real", def: 27.7375, min: -90, max: 90, step: 0.0001,
key: "weatherLatitude", type: "real", def: 0, min: -90, max: 90, step: 0.0001,
group: "weather", internal: true,
label: "Latitude",
detail: "Set by choosing a location"
},
{
key: "weatherLongitude", type: "real", def: -82.6861, min: -180, max: 180, step: 0.0001,
key: "weatherLongitude", type: "real", def: 0, min: -180, max: 180, step: 0.0001,
group: "weather", internal: true,
label: "Longitude",
detail: "Set by choosing a location"
},
// Empty until a location is chosen. The shipped value was once the
// author's home town, which confidently reported his weather on every
// machine anywhere; an unset location fetches nothing and says so
// instead.
{
key: "weatherLocation", type: "string", def: "Local weather", group: "weather",
key: "weatherLocation", type: "string", def: "", group: "weather",
internal: true,
// Display only -- never sent to the weather service.
pattern: "^[^\\n]{1,64}$",
pattern: "^[^\\n]{0,64}$",
label: "Weather location",
detail: "The place the weather reading is for"
},