dotfiles/nix/home-manager/progs/librewolf.nix
2024-09-27 00:56:21 -04:00

78 lines
2.0 KiB
Nix

{ pkgs, inputs, ... }:
{
home.packages = with pkgs; [ librewolf ];
programs.librewolf = {
enable = true;
settings = {
"webgl.disabled" = false;
"privacy.resistFingerprinting" = false;
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.cookies" = false;
"network.cookie.lifetimePolicy" = 0;
"general.useragent.compatMode.firefox" = true;
"identity.fxaccounts.enabled" = true;
"services.sync.prefs.sync.privacy.clearOnShutdown.cookies" = false;
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.cookiesAndStorage" = false;
"general.useragent.override" = "Mozilla/5.0 (X11; Linux x86_64; rv:${pkgs.firefox.version}) Gecko/20100101 Firefox/${pkgs.firefox.version}";
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
# For themeing
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.tabs.drawInTitlebar" = true;
"svg.context-properties.content.enabled" = true;
#fake location, FIT (just about)
"geo.provider.network.url" =
"data:application/json,"
+ builtins.toJSON {
location = {
lat = 28.0749;
lng = -80.6302;
};
accuracy = 1.0;
};
};
};
home.file =
let
chromeTheme = ".librewolf/tckj7njq.default-release/chrome";
firefoxThemeFile = file: src: {
target = "${chromeTheme}/${file}";
source = "${inputs.firefox-mod-theme}/${src}/${file}";
recursive = true;
};
baseThemeFile = {
file = "";
src = "";
};
modThemeFiles = [
{
file = "userChrome.css";
}
{
file = "userContent.css";
}
{
file = "ASSETS";
}
];
in
builtins.listToAttrs (
map (f: {
name = "firefox-theme-${f.file}";
value = firefoxThemeFile f.file f.src;
}) (map (f: baseThemeFile // f) modThemeFiles)
);
home.sessionVariables = {
BROWSER = "librewolf";
};
}