Remove Firefox from the shared preferences module; keep it on nexus #5
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
vnprc/profiles#5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Remove Firefox from the shared private preferences module so dev VMs are terminal-only, keeping it on
nexuswhere it is actually used.Primary goals:
nexuskeeps working — its mime handlers already namefirefox.desktop, so Firefox moves to the host profile rather than being deleted outright.Current state and specifics
modules/preferences.nix:52enablesprograms.firefoxwith a default profile,ublock-origin,multi-account-containers, and a block of privacy prefs. That module is this repo'shomeModules.preferences.Its consumers:
mkDevVmdefaultallod-profiles.homeModules.preferences(flake.nix:100)allod/archetypes/flake.nix:288So
allod-devalready demonstrates the per-machine opt-out mechanism —profileData.<machine>.preferencesModule— and already runs without Firefox.The load-bearing constraint is
nexus.hosts/hypervisor/nexus/home.nix:10-19setsfirefox.desktopas the default application forx-scheme-handler/http,.../https,.../chrome,text/html, and sixx-extension-*types. Deleting the block from the shared module alone would leave those handlers pointing at a desktop file no longer in the closure.Default approach: move the
programs.firefoxblock frommodules/preferences.nixintohosts/hypervisor/nexus/home.nix, alongside the mime handlers that depend on it. Dev VMs then inherit a browser-free preferences module and need no per-machine override. The alternative — leaving the block where it is and adding apreferencesModuleoverride for each dev VM — is worse: it repeats the opt-out three times and keeps the default wrong.On provenance: the owner's recollection is that this is a holdover from the hashpool
rust-devmachine. History does not confirm that. The Firefox block arrived in50c893d("Add private machine profile definitions", 2026-07-18,Refs vnprc/notes#62) as part of the initial private profile import, with norust-dev-specific commit touching it since. Recording this so the next reader does not go looking for a change that is not there.Validation
Confirm
programs.firefoxno longer evaluates for any dev machine, and thatfirefoxis absent from a built dev VM'shome-manager-pathclosure. Confirmnexusstill hasfirefoxin its closure and still resolvesx-scheme-handler/https. Measure the dev-VM closure delta — worth recording, since the whole point is footprint.Scope
In scope: this repo's
modules/preferences.nixandhosts/hypervisor/nexus/home.nix.Out of scope: the public
allod/profilespreferences module, which never had Firefox. Thenostrprivacy VM's own Firefox with thenos2xextension (hosts/privacy/nostr/configuration.nix:4) is unaffected — privacy VMs do not import the preferences module at all.One downstream note.
vnprc/notesissue #75 measuredhardware.graphics.enableas a ~229 MiB closure delta on a dev VM, and that figure assumed Firefox was present:nix why-dependstraced the already-installedlibglvndtofirefox-152.0.4. After this change that delta grows, because the GL userspace it was sharing leaves with the browser. Not a reason to keep Firefox — just a stale number to re-measure if anyone revisits that ticket.