65 lines
1.5 KiB
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;
|
|
};
|
|
}
|