nixos-config/home/browsers/mullvad-browser.nix
Felix Schröter 0bf8a6b336
feat(browsers): add mullvad-browser
Adds Mullvad Browser & sets it as the new default browser.
2023-04-12 21:06:32 +02:00

67 lines
1.7 KiB
Nix

{ config, nixosConfig, pkgs, lib, ... }:
let
inherit (pkgs.nur.repos.rycee) firefox-addons;
commonSettings = {
# Disable private browsing mode and restoring sessions
"browser.privatebrowsing.autostart" = false;
"browser.startup.page" = 3;
# Enable persistence of site permissions
"permissions.memory_only" = false;
# Hide titlebar
"browser.tabs.inTitlebar" = 1;
# Don't delete cookies & site data on restart
"network.cookie.lifetimePolicy" = 0;
# Allow push notifications
"dom.push.enabled" = true;
"dom.push.serverURL" = "wss://push.services.mozilla.com/";
};
zotero-connector = firefox-addons.buildFirefoxXpiAddon rec {
pname = "zotero-connector";
version = "5.0.107";
addonId = "zotero@chnm.gmu.edu";
url =
"https://download.zotero.org/connector/firefox/release/Zotero_Connector-${version}.xpi";
sha256 = "sha256-RuAhWGvUhkog8SxzKhRwQQwzTQLzBKlHjSsFj9e25e4=";
meta = with lib; {
homepage = "https://www.zotero.org";
description = "Save references to Zotero from your web browser";
license = licenses.agpl3;
platforms = platforms.all;
};
};
commonExtensions = with firefox-addons; [
bitwarden
vimium
libredirect
zotero-connector
];
in {
imports = [ ../modules/mullvad-browser.nix ];
programs.mullvad-browser = {
enable = true;
createProfileBins = true;
profiles = {
private = {
id = 0;
settings = commonSettings;
extensions = commonExtensions;
};
work = {
id = 1;
settings = commonSettings;
extensions = commonExtensions
++ (with firefox-addons; [ react-devtools reduxdevtools ]);
};
};
};
}