177 lines
6.6 KiB
Nix
177 lines
6.6 KiB
Nix
|
{
|
||
|
lib,
|
||
|
inputs,
|
||
|
pkgs,
|
||
|
osConfig,
|
||
|
...
|
||
|
}: let
|
||
|
betterfox = pkgs.fetchFromGitHub {
|
||
|
owner = "yokoffing";
|
||
|
repo = "betterfox";
|
||
|
rev = "e026ed7d3a763c5d3f96c2680d7bc3340831af4f";
|
||
|
hash = "sha256-hpkEO5BhMVtINQG8HN4xqfas/R6q5pYPZiFK8bilIDs=";
|
||
|
};
|
||
|
in {
|
||
|
config = lib.mkIf osConfig.local.profiles.desktop.enable {
|
||
|
programs.firefox = {
|
||
|
enable = true;
|
||
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||
|
extraPolicies = {
|
||
|
DisableTelemetry = true;
|
||
|
DisablePocket = true;
|
||
|
DisableFeedbackCommands = true;
|
||
|
DisableFirefoxStudies = true;
|
||
|
OfferToSaveLogins = false;
|
||
|
OffertosaveloginsDefault = false;
|
||
|
PasswordManagerEnabled = false;
|
||
|
SearchSuggestEnabled = true;
|
||
|
|
||
|
# https://github.com/Sly-Harvey/NixOS/blob/f9da2691ea46565256ad757959cfc26ec6cee10d/modules/programs/browser/firefox/default.nix#L58-L163
|
||
|
"3rdparty".Extensions = {
|
||
|
"addon@darkreader.org" = {
|
||
|
permissions = ["internal:privateBrowsingAllowed"];
|
||
|
enabled = true;
|
||
|
automation = {
|
||
|
enabled = true;
|
||
|
behavior = "OnOff";
|
||
|
mode = "system";
|
||
|
};
|
||
|
detectDarkTheme = true;
|
||
|
enabledByDefault = true;
|
||
|
changeBrowserTheme = false;
|
||
|
enableForProtectedPages = true;
|
||
|
fetchNews = false;
|
||
|
previewNewDesign = true;
|
||
|
};
|
||
|
"uBlock0@raymondhill.net" = {
|
||
|
permissions = ["internal:privateBrowsingAllowed"];
|
||
|
advancedSettings = [
|
||
|
[
|
||
|
"userResourcesLocation"
|
||
|
"https://raw.githubusercontent.com/pixeltris/TwitchAdSolutions/master/video-swap-new/video-swap-new-ublock-origin.js"
|
||
|
]
|
||
|
];
|
||
|
adminSettings = {
|
||
|
userSettings = {
|
||
|
uiTheme = "dark";
|
||
|
advancedUserEnabled = true;
|
||
|
userFiltersTrusted = true;
|
||
|
importedLists = [
|
||
|
"https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt"
|
||
|
];
|
||
|
selectedFilterLists = [
|
||
|
"FRA-0"
|
||
|
"adguard-cookies"
|
||
|
"adguard-mobile-app-banners"
|
||
|
"adguard-other-annoyances"
|
||
|
"adguard-popup-overlays"
|
||
|
"adguard-social"
|
||
|
"adguard-spyware-url"
|
||
|
"adguard-widgets"
|
||
|
"easylist"
|
||
|
"easylist-annoyances"
|
||
|
"easylist-chat"
|
||
|
"easylist-newsletters"
|
||
|
"easylist-notifications"
|
||
|
"easyprivacy"
|
||
|
"fanboy-cookiemonster"
|
||
|
"https://filters.adtidy.org/extension/ublock/filters/3.txt"
|
||
|
"https://github.com/DandelionSprout/adfilt/raw/master/LegitimateURLShortener.txt"
|
||
|
"plowe-0"
|
||
|
"ublock-annoyances"
|
||
|
"ublock-badware"
|
||
|
"ublock-cookies-adguard"
|
||
|
"ublock-cookies-easylist"
|
||
|
"ublock-filters"
|
||
|
"ublock-privacy"
|
||
|
"ublock-quick-fixes"
|
||
|
"ublock-unbreak"
|
||
|
"urlhaus-1"
|
||
|
"https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt"
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
profiles = {
|
||
|
nezia = {
|
||
|
settings = {
|
||
|
"browser.search.suggest.enabled" = true;
|
||
|
"ui.key.menuAccessKeyFocuses" = false;
|
||
|
};
|
||
|
|
||
|
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
||
|
darkreader
|
||
|
proton-pass
|
||
|
shinigami-eyes
|
||
|
stylus
|
||
|
ublock-origin
|
||
|
violentmonkey
|
||
|
];
|
||
|
# https://git.jacekpoz.pl/poz/niksos/src/commit/a48647a1c5bc6877a1100a65f4dc169b2fc11ed7/hosts/hape/firefox.nix
|
||
|
search = {
|
||
|
force = true;
|
||
|
default = "SearxNG";
|
||
|
engines = {
|
||
|
"SearxNG" = {
|
||
|
urls = [
|
||
|
{
|
||
|
rels = ["results"];
|
||
|
template = "https://search.nezia.dev/search";
|
||
|
params = [
|
||
|
{
|
||
|
name = "q";
|
||
|
value = "{searchTerms}";
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
{
|
||
|
rels = ["suggestions"];
|
||
|
template = "https://search.nezia.dev/autocompleter";
|
||
|
params = [
|
||
|
{
|
||
|
name = "q";
|
||
|
value = "{searchTerms}";
|
||
|
}
|
||
|
];
|
||
|
"type" = "application/x-suggestions+json";
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
"MyNixOS" = {
|
||
|
urls = [{template = "https://mynixos.com/search?q={searchTerms}";}];
|
||
|
iconUpdateURL = "https://mynixos.com/favicon.ico";
|
||
|
updateInterval = 24 * 60 * 60 * 1000;
|
||
|
definedAliases = ["@nx"];
|
||
|
};
|
||
|
"Noogle" = {
|
||
|
urls = [{template = "https://noogle.dev/q?term={searchTerms}";}];
|
||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||
|
definedAliases = ["@ng"];
|
||
|
};
|
||
|
"GitHub Nix" = {
|
||
|
# https://github.com/search?q=language%3Anix+NOT+is%3Afork+programs.neovim&type=code
|
||
|
urls = [{template = "https://github.com/search?q=language:nix NOT is:fork {searchTerms}&type=code";}];
|
||
|
iconUpdateURL = "https://github.com/favicon.ico";
|
||
|
updateInterval = 24 * 60 * 60 * 1000;
|
||
|
definedAliases = ["@ghn"];
|
||
|
};
|
||
|
"Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
|
||
|
};
|
||
|
};
|
||
|
# https://github.com/oddlama/nix-config/blob/main/users/myuser/graphical/firefox.nix#L53-L57
|
||
|
extraConfig = builtins.concatStringsSep "\n" [
|
||
|
(builtins.readFile "${betterfox}/user.js")
|
||
|
(builtins.readFile "${betterfox}/Securefox.js")
|
||
|
(builtins.readFile "${betterfox}/Fastfox.js")
|
||
|
(builtins.readFile "${betterfox}/Peskyfox.js")
|
||
|
(builtins.readFile "${betterfox}/Smoothfox.js")
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|