feat(firefox): add the desktop Firefox browser module (task 0032) #25
@@ -32,3 +32,6 @@ The policy path gives up build-time reproducibility of the extension binaries, a
|
|||||||
- First launch after a fresh build requires network to fetch the add-ons.
|
- First launch after a fresh build requires network to fetch the add-ons.
|
||||||
An offline first boot comes up with the extensions not yet present, populating them once online.
|
An offline first boot comes up with the extensions not yet present, populating them once online.
|
||||||
- Moving to a pinned-package posture later would mean changing the browser variant as well, since the two are coupled — the reason this is captured as a decision rather than a detail.
|
- Moving to a pinned-package posture later would mean changing the browser variant as well, since the two are coupled — the reason this is captured as a decision rather than a detail.
|
||||||
|
- The no-pinned-package rule scopes to the three functional extensions, which is where the signature-enforcement conflict bites.
|
||||||
|
Nord chrome theming comes from the Stylix Firefox Color add-on, a signed add-on that Stylix pins and manages, so it loads on stock mainline Firefox and adds no flake input of ours.
|
||||||
|
That is a bounded, deliberate exception, not a reversal: it is what lets the browser be themed from the shared Stylix scheme without hand-written chrome CSS.
|
||||||
|
|||||||
@@ -47,6 +47,10 @@ in
|
|||||||
profiles.default = {
|
profiles.default = {
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
|
|
||||||
|
# The Nord chrome theme is a declared extension setting, so home-manager
|
||||||
|
# owns the extension-settings store, overwriting runtime changes to it.
|
||||||
|
extensions.force = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
# Sponsored surfaces the policies above do not reach.
|
# Sponsored surfaces the policies above do not reach.
|
||||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||||
@@ -75,9 +79,12 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Nord chrome from the shared Stylix scheme, against the one profile.
|
# Nord chrome from the shared Stylix scheme, against the one profile.
|
||||||
|
# colorTheme recolours the toolbar and tabs, which the target does not do
|
||||||
|
# on its own, through the Stylix-managed Firefox Color add-on.
|
||||||
stylix.targets.firefox = {
|
stylix.targets.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profileNames = [ "default" ];
|
profileNames = [ "default" ];
|
||||||
|
colorTheme.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Links opened from other applications land in Firefox.
|
# Links opened from other applications land in Firefox.
|
||||||
|
|||||||
Reference in New Issue
Block a user