nixos/modules/firefox.nix

74 lines
2.8 KiB
Nix
Raw Normal View History

{ lib, config, pkgs, nur, inputs, ... }:
# very good info in https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
# most of this file is pasted from that thread
{
programs.firefox = {
2024-06-04 13:51:24 -08:00
enable = true;
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
extraPolicies = {
DisableTelemetry = true;
# add policies here...
2024-06-04 13:51:24 -08:00
/* ---- PREFERENCES ---- */
# Set preferences shared by all profiles.
Preferences = {
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
# add global preferences here...
};
};
2024-06-04 13:51:24 -08:00
};
policies = {
ExtensionSettings = with builtins;
let extension = shortId: uuid: {
2024-06-04 13:51:24 -08:00
name = uuid;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
installation_mode = "normal_installed";
};
};
in listToAttrs [
2024-06-06 13:46:23 -08:00
# (extension "tree-style-tab" "treestyletab@piro.sakura.ne.jp")
(extension "ublock-origin" "uBlock0@raymondhill.net")
(extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me")
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
(extension "mark-my-search" "{3c87dcad-dbbd-4be1-b07b-b6d0739b0aec}")
(extension "vimium" "{d7742d87-e61d-4b78-b8a1-b469842139fa}")
(extension "beautiful-alpen-blue" "{b96cf6da-f1b1-4b9d-9e69-98e7da9dd7c3}")
];
2024-06-04 13:51:24 -08:00
# To add additional extensions, find it on addons.mozilla.org, find
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
# Then, download the XPI by filling it in to the install_url template, unzip it,
# run `jq .browser_specific_settings.gecko.id manifest.json` or
# `jq .applications.gecko.id manifest.json` to get the UUID
# mir note: or just go to about:debugging#/runtime/this-firefox and copy the first field "Extension ID"
};
profiles = {
default = {
2024-06-04 13:51:24 -08:00
id = 0;
name = "default";
isDefault = true;
settings = {
"browser.startup.homepage" = "https://search.marq42.xyz";
"browser.search.defaultenginename" = "searx";
"browser.search.order.1" = "searx";
};
search = {
force = true;
default = "searx";
order = [ "searx" "Google" ];
};
# userChrome = ''
# !important @import "~/.mozilla/safari-userchrome.css";
# '';
};
};
2024-06-04 13:51:24 -08:00
};
home.file.".mozilla/safari-userchrome.css".source = builtins.fetchurl {
url = "https://gist.githubusercontent.com/janoamaral/5c0a6e944ca31d2a6a51712d0c453d48/raw/6e1f0d1e3e31400d467302da3198c3e9c3caa647/userChrome.css";
sha256 = "19hbf9kf93ggryabbxz5h9nsm2ymzjg369b8bld818a515cx4vhc";
};
}