[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
];
aviallon.desktop.browser.firefox.overrides.enableGnomeExtensions = true;
programs.firefox.enable = true;
programs.firefox.nativeMessagingHosts.packages = [ pkgs.gnomeExtensions.bowser-gnome-extension ];
environment.systemPackages = with pkgs; []
++ [
@ -46,7 +47,6 @@ in {
libreoffice-fresh
myFirefox
]
++ (with gnome; [
gnome-software

View file

@ -26,6 +26,12 @@ in {
"e ${config.users.users.sddm.home}/.cache/sddm-greeter/qmlcache/ - - - 0"
"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 = {
"chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json".source =
@ -93,12 +99,8 @@ in {
kolourpaint
krdc
sddm-kcm
myFirefox
];
aviallon.desktop.browser.firefox.overrides.enablePlasmaBrowserIntegration = true;
aviallon.programs.libreoffice.qt = true;
xdg.portal.enable = mkDefault true;

View file

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

View file

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