nixfleet/hmModules/firefox/default.nix

97 lines
2.6 KiB
Nix

{
pkgs,
...
}:
let
mkExtension = shortId: uuid: {
name = uuid;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
installation_mode = "normal_installed";
};
};
in
{
programs.firefox = {
enable = true;
nativeMessagingHosts = [ pkgs.tridactyl-native ];
policies = {
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
EmailTracking = true;
};
HardwareAcceleration = true;
FirefoxHome = {
TopSites = false;
SponsoredTopSites = false;
Highlights = false;
Pocket = false;
SponsoredPocket = false;
Snippets = false;
Locked = false;
};
FirefoxSuggest = {
WebSuggestions = true;
SponsoredSuggestions = false;
ImproveSuggest = false;
Locked = true;
};
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate"
HttpsOnlyMode = "force_enabled";
NoDefaultBookmarks = true;
OfferToSaveLogins = false;
OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = true;
DefaultDownloadDirectory = "\${home}/Downloads";
PromptForDownloadLocation = false;
RequestedLocales = "en-US";
ExtensionSettings = builtins.listToAttrs [
(mkExtension "ublock-origin" "uBlock0@raymondhill.net")
(mkExtension "tridactyl-vim" "tridactyl.vim@cmcaine.co.uk")
(mkExtension "styl-us" "7a7a4a92-a2a0-41d1-9fd7-1e92480d612d")
];
};
profiles.default = {
search.force = true;
search.default = "DuckDuckGo";
search.engines = {
"Searx" = {
urls = [
{
template = "https://search.aciceri.dev/search";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
};
};
bookmarks = [ ];
extensions = [ ];
userChrome = builtins.readFile ./userchrome.css;
};
};
xdg.configFile."tridactyl/tridactylrc".text = ''
set editorcmd footclient -e hx %f
colors catppuccin
'';
xdg.configFile."tridactyl/themes/catppuccin.css" = {
source = ./catppuccin.css;
};
}