Modularize firefox
This commit is contained in:
parent
c2c8e002b9
commit
a608ed5b9f
4 changed files with 70 additions and 48 deletions
|
|
@ -23,6 +23,7 @@
|
|||
./keepassxc.nix
|
||||
./gaming.nix
|
||||
./stylix.nix
|
||||
./firefox.nix
|
||||
./hyprland
|
||||
];
|
||||
}
|
||||
|
|
|
|||
69
modules/programs/firefox.nix
Normal file
69
modules/programs/firefox.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib, config, options, pkgs, ... }: {
|
||||
options.mods.firefox = {
|
||||
enable = lib.mkOption {
|
||||
default = true;
|
||||
example = false;
|
||||
type = lib.types.bool;
|
||||
description = "Enables firefox";
|
||||
};
|
||||
configuration = lib.mkOption {
|
||||
default = {
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisplayBookmarksToolbar = "never";
|
||||
DisplayMenuBar = "default-off";
|
||||
CaptivePortal = false;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxAccounts = false;
|
||||
NoDefaultBookmarks = true;
|
||||
OfferToSaveLogins = false;
|
||||
OfferToSaveLoginsDefault = false;
|
||||
PasswordManagerEnabled = false;
|
||||
FirefoxHome = {
|
||||
Search = true;
|
||||
Pocket = false;
|
||||
Snippets = false;
|
||||
TopSites = true;
|
||||
Highlights = false;
|
||||
};
|
||||
UserMessaging = {
|
||||
ExtensionRecommendations = false;
|
||||
SkipOnboarding = true;
|
||||
};
|
||||
};
|
||||
example = { };
|
||||
type = with lib.types; attrsOf anything;
|
||||
description = "Firefox policy configuration";
|
||||
};
|
||||
extensions = lib.mkOption {
|
||||
default = with pkgs.nur.repos.rycee.firefox-addons;[
|
||||
ublock-origin
|
||||
darkreader
|
||||
privacy-badger
|
||||
vimium
|
||||
keepassxc-browser
|
||||
i-dont-care-about-cookies
|
||||
tokyo-night-v2
|
||||
];
|
||||
example = [ ];
|
||||
type = with lib.types; listOf package;
|
||||
description = "Firefox extensions (from nur)";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.mods.firefox.enable
|
||||
(lib.optionalAttrs (options?programs.firefox.profiles) {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = config.mods.firefox.configuration;
|
||||
profiles.${config.conf.username} = {
|
||||
extensions = config.mods.firefox.extensions;
|
||||
};
|
||||
};
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue