[Desktop+Programs] move firefox configuration to programs.firefox

Convert all Gnome and Plasma specific configuration to use the new
programs.firefox.*
This commit is contained in:
Antoine Viallon 2024-04-05 12:42:19 +02:00
parent 2bc54d0c0e
commit 9e6a0fc11d
Signed by: aviallon
GPG key ID: 186FC35EDEB25716
4 changed files with 22 additions and 28 deletions

View file

@ -38,7 +38,8 @@ in {
"gphhapmejobijbbhgpjhcjognlahblep" # Gnome Shell integration "gphhapmejobijbbhgpjhcjognlahblep" # Gnome Shell integration
]; ];
aviallon.desktop.browser.firefox.overrides.enableGnomeExtensions = true; programs.firefox.enable = true;
programs.firefox.nativeMessagingHosts.packages = [ pkgs.gnomeExtensions.bowser-gnome-extension ];
environment.systemPackages = with pkgs; [] environment.systemPackages = with pkgs; []
++ [ ++ [
@ -46,7 +47,6 @@ in {
libreoffice-fresh libreoffice-fresh
myFirefox
] ]
++ (with gnome; [ ++ (with gnome; [
gnome-software gnome-software

View file

@ -26,6 +26,12 @@ in {
"e ${config.users.users.sddm.home}/.cache/sddm-greeter/qmlcache/ - - - 0" "e ${config.users.users.sddm.home}/.cache/sddm-greeter/qmlcache/ - - - 0"
"x ${config.users.users.sddm.home}/.cache" "x ${config.users.users.sddm.home}/.cache"
]; ];
programs.firefox.enable = true;
# Already brought in by ${nixpkgs}/nixos/modules/services/x11/desktop-managers/plasma5.nix
# programs.firefox.nativeMessagingHosts.packages = [ pkgs.libsForQt5.plasma-browser-integration ];
programs.firefox.policies.Extensions.Install = [ "plasma-browser-integration@kde.org" ];
environment.etc = { environment.etc = {
"chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json".source =
@ -93,12 +99,8 @@ in {
kolourpaint kolourpaint
krdc krdc
sddm-kcm sddm-kcm
myFirefox
]; ];
aviallon.desktop.browser.firefox.overrides.enablePlasmaBrowserIntegration = true;
aviallon.programs.libreoffice.qt = true; aviallon.programs.libreoffice.qt = true;
xdg.portal.enable = mkDefault true; xdg.portal.enable = mkDefault true;

View file

@ -7,5 +7,6 @@
./nano.nix ./nano.nix
./nvtop.nix ./nvtop.nix
./libreoffice.nix ./libreoffice.nix
./firefox.nix
]; ];
} }

View file

@ -1,11 +1,4 @@
{lib, {config, pkgs, lib, ...}:
firefox-esr-unwrapped,
wrapFirefox,
enablePlasmaBrowserIntegration ? false,
enableGnomeExtensions ? false,
extraNativeMessengingHosts ? [],
...
}:
with lib; with lib;
let let
genPrefList = {locked ? false}: prefs: genPrefList = {locked ? false}: prefs:
@ -17,15 +10,17 @@ let
(key: value: ''${prefFuncName}(${builtins.toJSON key}, ${builtins.toJSON value});'' ) (key: value: ''${prefFuncName}(${builtins.toJSON key}, ${builtins.toJSON value});'' )
prefs prefs
); );
in wrapFirefox firefox-esr-unwrapped { cfg = config.programs.firefox;
cfg = { in {
config = mkIf cfg.enable {
programs.firefox.wrapperConfig = {
smartcardSupport = true; smartcardSupport = true;
pipewireSupport = true; pipewireSupport = true;
ffmpegSupport = true; ffmpegSupport = true;
inherit enablePlasmaBrowserIntegration enableGnomeExtensions extraNativeMessengingHosts; privacySupport = true;
}; };
extraPolicies = { programs.firefox.policies = {
CaptivePortal = true; CaptivePortal = true;
DisableFirefoxStudies = true; DisableFirefoxStudies = true;
DisablePocket = true; DisablePocket = true;
@ -64,7 +59,6 @@ in wrapFirefox firefox-esr-unwrapped {
Extensions = { Extensions = {
Install = [ Install = [
"uBlock0@raymondhill.net" "uBlock0@raymondhill.net"
"French-GC@grammalecte.net"
]; ];
}; };
ExtensionSettings = { ExtensionSettings = {
@ -72,15 +66,11 @@ in wrapFirefox firefox-esr-unwrapped {
installation_mode = "force_installed"; installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
}; };
"French-GC@grammalecte.net" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/grammalecte-fr/latest.xpi";
};
}; };
ExtensionUpdate = true; ExtensionUpdate = true;
}; };
extraPrefs = traceVal (genPrefList { locked = true; } { programs.firefox.preferences = {
"widget.use-xdg-desktop-portal" = true; "widget.use-xdg-desktop-portal" = true;
"dom.event.contextmenu.enabled" = true; "dom.event.contextmenu.enabled" = true;
"network.IDN_show_punycode" = true; "network.IDN_show_punycode" = true;
@ -131,7 +121,7 @@ in wrapFirefox firefox-esr-unwrapped {
#"privacy.trackingprotection.origin_telemetry.enabled" = false; #"privacy.trackingprotection.origin_telemetry.enabled" = false;
} + "\n" + genPrefList {} { } // {
"intl.accept_languages" = "fr-fr,en-us,en"; "intl.accept_languages" = "fr-fr,en-us,en";
"intl.locale.requested" = "fr,en-US"; "intl.locale.requested" = "fr,en-US";
"media.eme.enabled" = true; # DRM "media.eme.enabled" = true; # DRM
@ -154,5 +144,6 @@ in wrapFirefox firefox-esr-unwrapped {
"widget.use-xdg-desktop-portal.location" = 1; "widget.use-xdg-desktop-portal.location" = 1;
"widget.use-xdg-desktop-portal.mime-handler" = 1; "widget.use-xdg-desktop-portal.mime-handler" = 1;
"widget.use-xdg-desktop-portal.settings" = 1; "widget.use-xdg-desktop-portal.settings" = 1;
}); };
};
} }