aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Weigl-Bosker <stefan@s00.xyz>2025-06-17 13:33:30 -0400
committerStefan Weigl-Bosker <stefan@s00.xyz>2025-06-17 13:33:30 -0400
commit8c8c3c7565749dc992a9048f43731b10c6e9eac3 (patch)
treedff75aba4e8f6324c084bd93db10f69ea01a135f
parent9994e4f5ad6140b1ece38593a7fa4a83ed077294 (diff)
downloadhome-8c8c3c7565749dc992a9048f43731b10c6e9eac3.tar.gz
wip: experimental firefox module
-rw-r--r--modules/default.nix1
-rw-r--r--modules/firefox.nix87
-rw-r--r--modules/global.nix1
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;
};