nix/modules/home/applications/firefox.nix

175 lines
5.6 KiB
Nix

{ config, lib, pkgs, ... }:
# about:policies
# Check about:support for extension/add-on ID strings.
# Check about:config for options.
with lib;
let
cfg = config.settings.applications.firefox;
in {
options = {
settings.applications.firefox.enable = lib.mkOption {
type = lib.types.bool;
description = ''
Enable firefox
'';
};
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
unstable.firefoxpwa
];
programs.firefox = lib.mkMerge [
{
enable = true;
}
(lib.mkIf (config.home.username == "xeovalyte") {
nativeMessagingHosts = [ pkgs.unstable.firefoxpwa ];
policies = {
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
DisablePocket = true;
DisableFirefoxAccounts = true;
DisableAccounts = true;
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "newpage";
ExtensionSettings = {
"nl-NL@dictionaries.addons.mozilla.org" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/woordenboek-nederlands/latest.xpi";
installation_mode = "force_installed";
};
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
};
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
installation_mode = "force_installed";
};
"firefoxpwa@filips.si" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/pwas-for-firefox/latest.xpi";
installation_mode = "force_installed";
};
"markdown-viewer@outofindex.com" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/markdown-viewer-chrome/latest.xpi";
installation_mode = "force_installed";
};
};
};
profiles.xeovalyte = {
bookmarks = [
{
name = "Toolbar";
toolbar = true;
bookmarks = [
{
name = "Brightspace";
bookmarks = [
{
name = "Books";
url = "https://drive.google.com/drive/folders/1L5OTbn5p3i7_Nc80hc5PztiEGHKwi-I4";
}
{
name = "LCB";
url = "https://brightspace.tudelft.nl/d2l/le/content/681010/Home";
}
{
name = "Calculus";
url = "https://brightspace.tudelft.nl/d2l/le/content/681024/Home";
}
{
name = "IP1";
url = "https://brightspace.tudelft.nl/d2l/le/content/681020/Home";
}
];
}
];
}
];
search.engines = {
"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 = [ "@nix" ];
};
"SearXNG" = {
urls = [{
template = "https:/search.xeovalyte.dev/search";
params = [
{ name = "q"; value = "{searchTerms}"; }
];
}];
definedAliases = [ "@searxng" ];
};
"Startpage" = {
urls = [{
template = "https:/startpage.com/sp/search";
params = [
{ name = "q"; value = "{searchTerms}"; }
];
}];
definedAliases = [ "@sp" ];
};
"Bing".metaData.hidden = true;
"Google".metaData.hidden = true;
"eBay".metaData.hidden = true;
};
search.force = true;
search.default = "SearXNG";
settings = {
"browser.disableResetPrompt" = true;
"browser.download.panel.shown" = true;
"browser.download.useDownloadDir" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.shell.checkDefaultBrowser" = false;
"browser.shell.defaultBrowserCheckCount" = 1;
"dom.security.https_only_mode" = true;
"privacy.trackingProtection.enabled" = true;
"browser.toolbars.bookmarks.visibility" = "newtab";
"browser.translations.neverTranslateLanguages" = "nl";
"browser.newtabpage.pinned" = [
{
label = "Server";
url = "https://home.xeovalyte.dev";
}
{
label = "Youtube";
url = "https://youtube.com";
}
{
label = "My TU Delft";
url = "https://my.tudelft.nl/";
}
];
"signon.rememberSignons" = false;
};
};
})
];
};
}