.hive/modules/home/firefox.nix

65 lines
1.5 KiB
Nix

{
config,
lib,
inputs,
pkgs,
...
}: let
cfg = config.hive.firefox;
in {
options.hive.firefox = {
enable = lib.mkEnableOption "Enable Firefox";
plasmaIntegration = lib.mkEnableOption "Enable Plasma Integration";
passFF = lib.mkEnableOption "Enable PassFF";
};
config = lib.mkIf cfg.enable {
programs.firefox = {
enable = true;
# Default profile
profiles.jonas = {
name = "Jonas";
id = 0;
isDefault = true;
# Search
search = {
default = "DuckDuckGo";
order = ["DuckDuckGo" "Google"];
force = true;
engines = {
"Nix Packages" = {
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
};
};
};
# Extensions
extensions = with inputs.firefox-addons.packages."x86_64-linux"; ([
ublock-origin
violentmonkey
]
++ lib.optional cfg.plasmaIntegration plasma-integration
++ lib.optional cfg.passFF passff);
};
};
home.packages =
lib.optional cfg.passFF
pkgs.passff-host;
};
}