nixos-demo/users/demo/home/firefox.nix
2025-08-10 22:35:19 +02:00

137 lines
4.2 KiB
Nix

{ lib, pkgs, osConfig, ... }:
{
programs = {
firefox = {
enable = true;
languagePacks = [
"en-US"
"de"
];
# https://mozilla.github.io/policy-templates/
policies = {
DefaultDownloadDirectory = "\${home}/Downloads";
DisableFirefoxStudies = true;
DisableAppUpdate = true;
DisablePocket = true;
DisableTelemetry = true;
Extensions = {
Install = [
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"
];
};
ExtensionSettings = {
"uBlock0@raymondhill.net" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
updates_disabled = false;
};
};
FirefoxHome = {
Search = true;
TopSites = false;
SponsoredTopSites = false;
Highlights = false;
Pocket = false;
SponsoredPocket = false;
Snippets = false;
Locked = false;
};
FirefoxSuggest = {
WebSuggestions = false;
SponsoredSuggestions = false;
ImproveSuggest = false;
Locked = false;
};
HardwareAcceleration = true;
RequestedLocales = "en-US,de";
SSLVersionMin = "tls1.2";
TranslateEnabled = false;
UserMessaging = {
ExtensionRecommendations = false;
FeatureRecommendations = false;
UrlbarInterventions = false;
SkipOnboarding = true;
MoreFromMozilla = false;
FirefoxLabs = false;
Locked = false;
};
};
profiles = {
default = {
id = 0;
name = "default";
isDefault = true;
search = {
force = true;
default = "ddg";
engines = {
"ddg".metaData.alias = "@ddg";
"Nix Packages" = {
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"NixOS Wiki" = {
urls = [ { template = "https://wiki.nixos.org/index.php?search={searchTerms}"; } ];
icon = "https://wiki.nixos.org/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@nw" ];
};
"wikipedia".metaData.alias = "@wiki";
};
};
settings = {
"general.smoothScroll" = true;
"signon.rememberSignons" = false; # Password Manager
};
bookmarks = {
force = true;
settings = [
{
toolbar = true; # <- global toolbar
bookmarks = lib.mkMerge [[
{
name = "kernel.org";
url = "https://www.kernel.org";
}
(lib.mkIf osConfig.beancloud.software.nextcloud.server.enable {
name = "Nextcloud";
url = "http://localhost";
})
(lib.mkIf osConfig.beancloud.software.gitlab {
name = "Gitlab";
url = "http://192.168.100.11";
})
(lib.mkIf osConfig.beancloud.software.forgejo {
name = "Forgejo";
url = "http://localhost:3000";
})
(lib.mkIf osConfig.beancloud.software.splunk {
name = "Splunk";
url = "http://localhost:8000";
})
]];
}
];
};
};
};
};
};
}