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,136 @@
@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@media (prefers-color-scheme: dark) {
:root {
/* Browser area before a page starts loading */
--gnome-browser-before-load-background: #2e3440;
/* Accent */
--gnome-accent-bg: #3584e4;
--gnome-accent: #78aeed;
/* Toolbars */
--gnome-toolbar-background: var(--gnome-headerbar-background);
--gnome-toolbar-color: #d8dee9;
--gnome-toolbar-border-color: rgba(0, 0, 0, 0.36);
--gnome-toolbar-icon-fill: #eeeeec;
--gnome-inactive-toolbar-color: #919190;
--gnome-inactive-toolbar-background: var(
--gnome-inactive-headerbar-background
);
--gnome-inactive-toolbar-border-color: var(
--gnome-toolbar-border-color
);
--gnome-inactive-toolbar-icon-fill: #919190;
/* Sidebar */
--gnome-sidebar-background: var(--gnome-toolbar-background);
--gnome-inactive-sidebar-background: var(--gnome-sidebar-background);
/* Menus */
--gnome-menu-background: #3b4252;
--gnome-menu-border-color: rgba(0, 0, 0, 0.14);
--gnome-menu-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09),
0 2px 14px 3px rgba(0, 0, 0, 0.05);
--gnome-menu-button-hover-background: var(--gnome-button-background);
--gnome-menu-separator-color: rgba(255, 255, 255, 0.1);
/* Header bar */
--gnome-headerbar-background: #2e3440;
--gnome-headerbar-border-color: var(--gnome-toolbar-border-color);
/* --gnome-inactive-headerbar-background: var(--gnome-browser-before-load-background);*/
--gnome-inactive-headerbar-background: #3b4252;
--gnome-inactive-headerbar-border-color: var(
--gnome-inactive-toolbar-border-color
);
/* Buttons */
--gnome-button-background: rgba(255, 255, 255, 0.1);
--gnome-button-hover-background: rgba(255, 255, 255, 0.15);
--gnome-button-active-background: rgba(255, 255, 255, 0.3);
--gnome-button-flat-hover-background: rgba(255, 255, 255, 0.07);
--gnome-button-flat-active-background: rgba(255, 255, 255, 0.1);
--gnome-button-suggested-action-background: var(--gnome-accent-bg);
--gnome-button-destructive-action-background: #e01b24;
--gnome-button-close-background: var(
--gnome-button-flat-hover-background
);
--gnome-button-hover-close-background: var(
--gnome-button-hover-background
);
--gnome-button-active-close-background: var(
--gnome-button-active-background
);
--gnome-toolbar-star-button: #f8e45c;
/* Entries */
--gnome-entry-background: rgba(255, 255, 255, 0.1);
--gnome-entry-color: #d8dee9;
--gnome-inactive-entry-color: #d6d6d6;
--gnome-focused-urlbar-border-color: rgba(
120,
174,
237,
0.5
); /* Same as --gnome-accent but with opacity*/
/* Switch */
--gnome-switch-background: rgba(255, 255, 255, 0.15);
--gnome-switch-slider-background: #d2d2d2;
--gnome-switch-active-background: var(--gnome-accent-bg);
--gnome-switch-active-slider-background: #d8dee9;
/* Tabs */
--gnome-tabbar-background: var(--gnome-headerbar-background);
--gnome-tabbar-tab-separator-color: rgba(255, 255, 255, 0.15);
--gnome-tabbar-tab-hover-background: #3a404b; /* Hardcoded color */
--gnome-tabbar-tab-active-background: #3f4551; /* Hardcoded color */
--gnome-tabbar-tab-active-background-contrast: #616979; /* Hardcoded color */
--gnome-tabbar-tab-active-hover-background: #444a56; /* Hardcoded color */
--gnome-inactive-tabbar-background: var(
--gnome-inactive-headerbar-background
);
--gnome-inactive-tabbar-tab-hover-background: #404857; /* Hardcoded color */
--gnome-inactive-tabbar-tab-active-background: #434a59; /* Hardcoded color */
--gnome-tab-button-background: rgba(0, 0, 0, 0.5);
--gnome-tab-button-hover-background: rgba(0, 0, 0, 0.6);
--gnome-tabbar-tab-identity-base-opacity: 0;
--gnome-tabbar-tab-needs-attetion: #546f8e;
}
/* Private window colors */
:root {
--gnome-private-accent: #71a1db;
/* Toolbars */
--gnome-private-toolbar-background: #1c2438;
--gnome-private-inactive-toolbar-background: var(
--gnome-private-toolbar-background
);
/* Menus */
--gnome-private-menu-background: #252f49;
/* Header bar */
--gnome-private-headerbar-background: #252f49;
--gnome-private-inactive-headerbar-background: var(
--gnome-private-toolbar-background
);
/* Tabs */
--gnome-private-tabbar-tab-hover-background: #343e56; /* Hardcoded color */
--gnome-private-tabbar-tab-active-background: #343e56; /* Hardcoded color */
--gnome-private-tabbar-tab-active-background-contrast: #495675; /* Hardcoded color */
--gnome-private-tabbar-tab-active-hover-background: #414a61; /* Hardcoded color */
--gnome-private-inactive-tabbar-tab-hover-background: #242c3f; /* Hardcoded color */
--gnome-private-inactive-tabbar-tab-active-background: #272e41; /* Hardcoded color */
/* Text color for Firefox Logo in new private tab */
--gnome-private-wordmark: #fbfbfe;
/* New private tab background */
--gnome-private-in-content-page-background: #1c2438;
/* Private browsing info box */
--gnome-private-text-primary-color: #fbfbfe;
}
}

View file

@ -0,0 +1 @@
customChrome.css

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";
}
];
};
};
};
}