Librewolf

This commit is contained in:
Henry Hiles 2025-05-27 13:52:33 -04:00
parent 5cb4cd387d
commit ac3f77e0e2
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
6 changed files with 55 additions and 70 deletions

View file

@ -0,0 +1,163 @@
{
lib,
pkgs,
config,
inputs,
...
}: {
environment.etc."librewolf/policies/policies.json".source = config.environment.etc."firefox/policies/policies.json".source;
systemd.tmpfiles.settings.librewolf = {
"/home/quadradical/.librewolf"."d".user = "quadradical";
"/home/quadradical/.librewolf/quadradical"."d".user = "quadradical";
"/home/quadradical/.librewolf/profiles.ini"."L+".argument = toString ((pkgs.formats.ini {}).generate "profiles.ini" {
General = {
StartWithLastProfile = 1;
};
Profile0 = rec {
Default = 1;
IsRelative = 1;
Name = "quadradical";
Path = Name;
};
});
"/home/quadradical/.librewolf/quadradical/chrome"."L+".argument =
toString
(pkgs.symlinkJoin {
name = "firefox-gnome-theme";
paths = [./. inputs.firefox-gnome-theme];
});
};
programs.firefox = {
enable = true;
package = pkgs.librewolf;
autoConfig = lib.concatStringsSep "\n" (lib.mapAttrsToList (pref: value: "lockPref(\"${pref}\", ${builtins.toJSON value});") {
"svg.context-properties.content.enabled" = true; # This doesn't work
"privacy.fingerprintingProtection.overrides" = "+AllTargets,-CSSPrefersColorScheme";
"media.peerconnection.enabled" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"downloads-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\"],\"currentVersion\":19}";
});
policies = {
ShowHomeButton = false;
DisableAccounts = true;
DisableFormHistory = true;
DisableFirefoxScreenshots = true;
DisableSetDesktopBackground = true;
DisableMasterPasswordCreation = true;
# We use the Bitwarden extension for these
PasswordManagerEnabled = false;
AutofillAddressEnabled = false;
AutofillCreditCardEnabled = false;
SanitizeOnShutdown = {
Cache = false;
Cookies = false;
Downloads = true;
FormData = true;
History = false;
Sessions = false;
SiteSettings = false;
OfflineApps = true;
Locked = true;
};
DontCheckDefaultBrowser = true;
HttpsOnlyMode = "force_enabled";
DisplayMenuBar = "never";
DisplayBookmarksToolbar = "never";
DNSOverHTTPS.Enabled = false;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
UserMessaging = {
WhatsNew = false;
ExtensionRecommendations = false;
FeatureRecommendations = false;
UrlbarInterventions = false;
SkipOnboarding = true;
MoreFromMozilla = false;
FirefoxLabs = false;
};
FirefoxHome = {
TopSites = true;
SponsoredTopSites = false;
Pocket = false;
Snippets = false;
Highlights = false;
Locked = true;
};
FirefoxSuggest = {
WebSuggestions = false;
SponsoredSuggestions = false;
ImproveSuggest = false;
Locked = true;
};
ExtensionSettings = lib.mkForce (lib.listToAttrs (map (id: {
name = id;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${id}/latest.xpi";
installation_mode = "force_installed";
};
}) [
"historyblock@kain"
"uBlock0@raymondhill.net"
"sponsorBlocker@ajay.app"
"jid1-MnnxcxisBPnSXQ@jetpack" # Privacy Badger
"frankerfacez@frankerfacez.com"
"7esoorv3@alefvanoon.anonaddy.me" # LibRedirect
"{de621c74-2aa6-4c91-a2da-28d445b66bab}" # YouTube Livestreams Theater Mode
"{cf3dba12-a848-4f68-8e2d-f9fadc0721de}" # Google Lighthouse
"{446900e4-71c2-419f-a6a7-df9c091e268b}" # Bitwarden
"{4ce83447-8255-43c2-b8f7-e02eb8c2cc39}" # Draw on Page
"{ac34afe8-3a2e-4201-b745-346c0cf6ec7d}" # Better Youtube Shorts
"{2327d818-55d3-441d-aea2-8b44aa2cb9aa}" # Toggle Website Colors
"{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}" # User-Agent Switcher and Manager
"enhancerforyoutube@maximerf.addons.mozilla.org"
]));
SearchEngines = {
Default = "DuckDuckGo";
PreventInstalls = true;
Remove = ["Bing" "Google" "Amazon.ca" "eBay"];
Add = [
{
Name = "Nix Package Search";
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
IconURL = "https://github.com/NixOS/nixos-artwork/raw/refs/heads/master/logo/nix-snowflake-white.svg";
Alias = "np";
}
{
Name = "NixOS Option Search";
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
IconURL = "https://github.com/NixOS/nixos-artwork/raw/refs/heads/master/logo/nix-snowflake-white.svg";
Alias = "no";
}
{
Name = "NixOS Wiki";
URLTemplate = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
IconURL = "https://github.com/NixOS/nixos-artwork/raw/refs/heads/master/logo/nix-snowflake-white.svg";
Alias = "nw";
}
];
};
};
};
}