diff options
| author | Stefan Weigl-Bosker <stefan@s00.xyz> | 2025-06-17 13:33:30 -0400 |
|---|---|---|
| committer | Stefan Weigl-Bosker <stefan@s00.xyz> | 2025-06-17 13:33:30 -0400 |
| commit | 8c8c3c7565749dc992a9048f43731b10c6e9eac3 (patch) | |
| tree | dff75aba4e8f6324c084bd93db10f69ea01a135f | |
| parent | 9994e4f5ad6140b1ece38593a7fa4a83ed077294 (diff) | |
| download | home-8c8c3c7565749dc992a9048f43731b10c6e9eac3.tar.gz | |
wip: experimental firefox module
| -rw-r--r-- | modules/default.nix | 1 | ||||
| -rw-r--r-- | modules/firefox.nix | 87 | ||||
| -rw-r--r-- | modules/global.nix | 1 |
3 files changed, 89 insertions, 0 deletions
diff --git a/modules/default.nix b/modules/default.nix index 5eacabf..48dd052 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -23,5 +23,6 @@ ./colors ./zathura.nix ./zoxide.nix + ./firefox.nix ]; } diff --git a/modules/firefox.nix b/modules/firefox.nix new file mode 100644 index 0000000..5d9f16f --- /dev/null +++ b/modules/firefox.nix @@ -0,0 +1,87 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.modules.firefox; + scheme = config.modules.scheme; + fmt = col: lib.strings.removePrefix "#" col; + lock-false = { + Value = false; + Status = "locked"; + }; + lock-true = { + Value = true; + Status = "locked"; + }; + lock-empty-string = { + Value = ""; + Status = "locked"; + }; +in +{ + options.modules.firefox = { + enable = lib.mkEnableOption "firefox"; + }; + + config = { + programs.firefox = lib.mkIf cfg.enable { + enable = true; + nativeMessagingHosts = [ + pkgs.tridactyl-native + ]; + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + SearchBar = "unified"; + DisablePocket = true; + DisableFirefoxAccounts = true; + DisableAccounts = true; + DisableFirefoxScreenshots = true; + OverrideFirstRunPag = ""; + OverridePostUpdatePag = ""; + DisplayBookmarksToolbar = "never"; + DisplayMenuBar = "default-off"; + + ExtensionSettings = { + "tridactyl.vim.betas@cmcaine.co.uk" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4405615/tridactyl_vim-1.24.2.xpi"; + installation_mode = "force_installed"; + }; + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4492375/ublock_origin-1.64.0.xpi"; + installation_mode = "force_installed"; + }; + }; + + Preferences = { + "browser.contentblocking.category" = { Value = "strict"; Status = "locked"; }; + "extensions.pocket.enabled" = lock-false; + "extensions.screenshots.disabled" = lock-true; + "browser.topsites.contile.enabled" = lock-false; + "browser.formfill.enable" = lock-false; + "browser.search.suggest.enabled" = lock-false; + "browser.search.suggest.enabled.private" = lock-false; + "browser.urlbar.suggest.searches" = lock-false; + "browser.urlbar.showSearchSuggestionsFirst" = lock-false; + "browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false; + "browser.newtabpage.activity-stream.feeds.snippets" = lock-false; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false; + "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false; + "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false; + "browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false; + "browser.newtabpage.activity-stream.showSponsored" = lock-false; + "browser.newtabpage.activity-stream.system.showSponsored" = lock-false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false; + "sidebar.verticalTabs" = lock-true; + "sidebar.visibility" = "expand-on-hover"; + "sidebar.animation.enabled" = "false"; + "sidebar.main.tools" = ""; + }; + }; + }; + }; +} diff --git a/modules/global.nix b/modules/global.nix index e99b3e2..7bb28be 100644 --- a/modules/global.nix +++ b/modules/global.nix @@ -39,6 +39,7 @@ in global = { wayland = lib.mkDefault true; }; + firefox.enable = true; sway = { wrapWithNixGL = cfg.notNixOS; }; |