diff --git a/hosts/common/configs/user/gui/firefox/default.nix b/hosts/common/configs/user/gui/firefox/default.nix index cb60630..90b6854 100644 --- a/hosts/common/configs/user/gui/firefox/default.nix +++ b/hosts/common/configs/user/gui/firefox/default.nix @@ -2,18 +2,26 @@ user ? throw "user argument is required", home ? throw "home argument is required", }: -{ lib, pkgs, ... }: { - environment = { - persistence = { - "/persist"."${home}/.mozilla" = { }; - "/cache"."${home}/.cache/mozilla" = { }; - }; + config, + lib, + pkgs, + ... +}: +let + hmConfig = config.home-manager.users.${user}; +in +{ + environment.persistence = { + "/persist"."${home}/.mozilla" = { }; + "/cache"."${home}/.cache/mozilla" = { }; + }; + + home-manager.users.${user} = { + programs.firefox = { + enable = true; - # FIXME: https://github.com/nix-community/home-manager/issues/6444 - etc."firefox/policies/policies.json".source = (pkgs.formats.json { }).generate "policies.json" { policies = { - AppAutoUpdate = false; AutofillAddressEnabled = false; AutofillCreditCardEnabled = false; DefaultDownloadDirectory = "$HOME/Downloads"; @@ -61,12 +69,6 @@ "extensions.autoDisableScopes" = 0; }; }; - }; - }; - - home-manager.users.${user} = { - programs.firefox = { - enable = true; profiles.default = { extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ @@ -124,8 +126,10 @@ "x-scheme-handler/unknown" ] (_: "firefox.desktop"); - home.sessionVariables.DEFAULT_BROWSER = lib.meta.getExe pkgs.firefox; + home.sessionVariables.DEFAULT_BROWSER = lib.meta.getExe hmConfig.programs.firefox.finalPackage; - wayland.windowManager.hyprland.settings.bind = [ "$mod, b, exec, ${lib.meta.getExe pkgs.firefox}" ]; + wayland.windowManager.hyprland.settings.bind = [ + "$mod, b, exec, ${lib.meta.getExe hmConfig.programs.firefox.finalPackage}" + ]; }; }