nichts/modules/gui/firefox.nix

65 lines
1.8 KiB
Nix
Raw Normal View History

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;
2024-04-13 21:08:22 +02:00
2024-04-13 18:59:58 +02:00
policies = {
2024-04-13 21:08:22 +02:00
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value= true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
DisablePocket = true;
DisableFirefoxAccounts = true;
DisableAccounts = true;
DisableFirefoxScreenshots = true;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate"
FirefoxSuggest = {
WebSuggestions = true;
ImproveSuggest = true;
Locked = true;
};
SearchSuggestEnabled = true;
theme = {
colors = {
background-darker = "181825";
background = "1e1e2e";
foreground = "cdd6f4";
};
};
font = "Lexend";
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
};
};
}