2024-04-13 18:59:58 +02:00
|
|
|
{ config, lib, inputs, pkgs, ... }:
|
|
|
|
with lib; let
|
|
|
|
username = config.modules.other.system.username;
|
2024-04-13 19:03:30 +02:00
|
|
|
cfg = config.modules.programs.firefox;
|
2024-04-13 18:59:58 +02:00
|
|
|
in {
|
2024-04-13 19:03:30 +02:00
|
|
|
options.modules.programs.firefox = {
|
2024-04-13 18:59:58 +02:00
|
|
|
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} = {
|
2024-04-13 19:16:54 +02:00
|
|
|
programs.firefox = {
|
2024-04-13 18:59:58 +02:00
|
|
|
enable = true;
|
|
|
|
policies = {
|
2024-04-13 19:16:54 +02:00
|
|
|
ExtensionSettings = lib.mkMerge [{
|
2024-04-13 18:59:58 +02:00
|
|
|
"uBlock0@raymondhill.net" = {
|
|
|
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
|
|
|
installation_mode = "force_installed";
|
|
|
|
};
|
2024-04-13 19:16:54 +02:00
|
|
|
} cfg.extensions];
|
2024-04-13 18:59:58 +02:00
|
|
|
};
|
2024-04-13 19:16:54 +02:00
|
|
|
};
|
2024-04-13 18:59:58 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|