Files
nix/hosts/common/configs/user/gui/firefox/default.nix
Nikolaos Karaolidis 98ce774210 Reorganize imports
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2024-12-21 23:32:29 +02:00

102 lines
3.0 KiB
Nix

{
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{ lib, pkgs, ... }:
{
environment.persistence = {
"/persist"."${home}/.mozilla" = { };
"/cache"."${home}/.cache/mozilla" = { };
};
home-manager.users.${user} = {
programs.firefox = {
enable = true;
policies = {
DisableTelemetry = true;
DisableFirefoxStudies = true;
DontCheckDefaultBrowser = true;
DisablePocket = true;
DefaultDownloadDirectory = "$HOME/Downloads";
OfferToSaveLogins = false;
AutofillAddressEnabled = false;
AutofillCreditCardEnabled = false;
Preferences = {
"browser.aboutConfig.showWarning" = false;
"browser.contentblocking.category" = "strict";
"browser.download.useDownloadDir" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.toolbars.bookmarks.visibility" = true;
"browser.sessionstore.restore_on_demand" = true;
"browser.sessionstore.restore_pinned_tabs_on_demand" = false;
"browser.translations.automaticallyPopup" = false;
};
};
profiles.default = {
settings."extensions.autoDisableScopes" = 0;
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
languagetool
bitwarden
darkreader
noscript
sponsorblock
ublock-origin
violentmonkey
wayback-machine
];
search = {
default = "DuckDuckGo";
privateDefault = "DuckDuckGo";
order = [
"DuckDuckGo"
"Google"
"Wikipedia (en)"
"Nix Packages"
"Nix Options"
"Home Manager Options"
];
force = true;
engines = {
"Google".metaData.alias = "@g";
"DuckDuckGo".metaData.alias = "@d";
"Wikipedia (en)".metaData.alias = "@w";
"Nix" = {
urls = [
{
template = "https://mynixos.com/search";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@n" ];
};
};
};
};
};
xdg.mimeApps.defaultApplications = lib.attrsets.genAttrs [
"text/html"
"x-scheme-handler/http"
"x-scheme-handler/https"
"x-scheme-handler/about"
"x-scheme-handler/unknown"
] (_: "firefox.desktop");
home.sessionVariables.DEFAULT_BROWSER = lib.meta.getExe pkgs.firefox;
wayland.windowManager.hyprland.settings.bind = [ "$mod, b, exec, ${lib.meta.getExe pkgs.firefox}" ];
};
}