From fba8f1bfddc30feec06bb361a71321307f87dea7 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Fri, 13 Jun 2025 21:30:28 +0800 Subject: [PATCH] feat(desktop/firefox): add extension support to profiles --- .../home/desktop/browser/firefox/default.nix | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/modules/home/desktop/browser/firefox/default.nix b/modules/home/desktop/browser/firefox/default.nix index 7dce597..1605bcb 100644 --- a/modules/home/desktop/browser/firefox/default.nix +++ b/modules/home/desktop/browser/firefox/default.nix @@ -1,10 +1,31 @@ -{ osConfig, lib, ... }: +{ + osConfig, + lib, + inputs, + system, + ... +}: let inherit (builtins) map listToAttrs; + inherit (lib) mkIf; inherit (lib.lists) findFirstIndex; + inherit (inputs.nur.legacyPackages.${system}.repos.rycee) firefox-addons; cfg = osConfig.desktop.browser.firefox; profileCfg = id: { inherit id; + #TODO: move this into an option? + settings = { + "extensions.autoDisableScopes" = 0; # Auto enable extensions + }; + extensions = { + force = true; + packages = with firefox-addons; [ + darkreader + gesturefy + sponsorblock + ublock-origin + ]; + }; }; profiles = listToAttrs ( map (name: { @@ -16,7 +37,7 @@ let ); in { - config = lib.mkIf cfg.enable { + config = mkIf cfg.enable { home.persistence."/persist/home/rafiq".directories = [ ".mozilla/firefox" ]; home.sessionVariables.BROWSER = "firefox"; programs.firefox = { @@ -25,6 +46,7 @@ in }; stylix.targets.firefox = { profileNames = cfg.syncedProfiles; + colorTheme.enable = true; }; }; }