62 lines
1.5 KiB
Nix
62 lines
1.5 KiB
Nix
{ lib, config, pkgs, ... }:
|
|
with lib;
|
|
let
|
|
merge = foldr (a: b: a // b) { };
|
|
cfg = config.modules.web.firefox;
|
|
in
|
|
{
|
|
options.modules.web.firefox = {
|
|
enable = mkEnableOption "enable Firefox web browser";
|
|
};
|
|
config = mkIf cfg.enable {
|
|
|
|
nixpkgs.overlays = [
|
|
inputs.nur.overlay
|
|
];
|
|
programs.browserpass = {
|
|
enable = true;
|
|
browsers = ["firefox"];
|
|
};
|
|
programs.firefox = {
|
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
|
nativeMessagingHosts = [
|
|
# Tridactyl native connector
|
|
pkgs.tridactyl-native
|
|
pkgs.browserpass
|
|
];
|
|
};
|
|
enable = true;
|
|
profiles.ephase = {
|
|
id = 0;
|
|
name = "ephase";
|
|
isDefault = true;
|
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
browserpass
|
|
consent-o-matic
|
|
cookie-autodelete
|
|
darkreader
|
|
decentraleyes
|
|
tridactyl
|
|
ublock-origin
|
|
];
|
|
search = {
|
|
force = true;
|
|
default = "DuckDuckGo";
|
|
};
|
|
settings = merge [
|
|
(import ./conf/doh.nix)
|
|
(import ./conf/drm.nix)
|
|
(import ./conf/experiments.nix)
|
|
(import ./conf/extensions.nix)
|
|
(import ./conf/preferences.nix)
|
|
(import ./conf/privacy.nix)
|
|
(import ./conf/safebrowsing.nix)
|
|
(import ./conf/suggest.nix)
|
|
(import ./conf/telemetry.nix)
|
|
(import ./conf/theme.nix)
|
|
(import ./conf/tracking.nix)
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|