diff --git a/hosts/lars/kronos/configuration.nix b/hosts/lars/kronos/configuration.nix index 0189d05..c7d1182 100644 --- a/hosts/lars/kronos/configuration.nix +++ b/hosts/lars/kronos/configuration.nix @@ -15,6 +15,9 @@ "DP-1,1920x1080@60,2560x0,1" ]; }; + firefox = { + enable = true; + }; }; services.getty.autologinUser = "lars"; diff --git a/modules/gui/default.nix b/modules/gui/default.nix index d4cd205..70631a4 100644 --- a/modules/gui/default.nix +++ b/modules/gui/default.nix @@ -11,5 +11,6 @@ _: { ./foot.nix # ./vivado.nix ./WM + ./firefox.nix ]; } diff --git a/modules/gui/firefox.nix b/modules/gui/firefox.nix new file mode 100644 index 0000000..79626a3 --- /dev/null +++ b/modules/gui/firefox.nix @@ -0,0 +1,30 @@ +{ config, lib, inputs, pkgs, ... }: +with lib; let + username = config.modules.other.system.username; + cfg = config.modules.firefox; +in { + options.modules.firefox = { + enable = mkEnableOption "firefox"; + extensions = mkOption { + description = "firefox extensions (format like https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265)"; + type = types.attrs; + default = {}; + }; + }; + + config = mkIf cfg.enable { + home-manager.users.${username} = { + programs.firefox = (lib.mkMerge [{ + enable = true; + policies = { + ExtensionSettings = { + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + }; + } cfg.extensions]); + }; + }; +}