CrOS/home/crow/common/optional/browsers/default.nix
TheWanderingCrow c82425f294 remove pywalfox
2026-04-20 11:29:05 -04:00

136 lines
3.8 KiB
Nix

{ inputs, pkgs, ... }:
let
mkPluginUrl = id: "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
mkExtensionEntry =
{
id,
pinned ? false,
}:
let
base = {
install_url = mkPluginUrl id;
installation_mode = "force_installed";
};
in
if pinned then base // { default_area = "navbar"; } else base;
mkExtensionSettings = builtins.mapAttrs (
_: entry: if builtins.isAttrs entry then entry else mkExtensionEntry { id = entry; }
);
in
{
imports = [
inputs.zen-browser.homeModules.beta
];
# Personal Browser
programs.zen-browser = {
enable = true;
nativeMessagingHosts = [
pkgs.firefoxpwa
];
profiles.default = {
search = {
force = true;
default = "ddg";
};
};
policies = {
AutofillAddressEnabled = false;
AutofillCreditCardEnabled = false;
DisableAppUpdate = true;
DisableFeedbackCommands = true;
DisableFirefoxStudies = true;
DisablePocket = true;
DisableTelemetry = true;
DontCheckDefaultBrowser = true;
NoDefaultBookmarks = true;
OfferToSaveLogins = false;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
ExtensionSettings = mkExtensionSettings {
"uBlock0@raymondhill.net" = "ublock-origin";
"{d7742d87-e61d-4b78-b8a1-b469842139fa}" = "vimium";
"sponsorBlocker@ajay.app" = "sponsor-block";
};
};
};
# Work Browser
programs.firefox = {
enable = true;
policies = {
BlockAboutConfig = true;
DisableFirefoxStudies = true;
DisableFormHistory = true;
DisablePasswordReveal = true;
DisablePocket = true;
DisableProfileImport = true;
DontCheckDefaultBrowser = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
Homepage = {
URL = "https://home.wanderingcrow.net";
StartPage = "homepage";
};
OfferToSaveLogins = false;
PasswordManagerEnabled = false;
# You can find extension settings by installing the extension in firefox and then going to about:debugging#/runtime/this-firefox to get the extension ID
ExtensionSettings = {
"uBlock0@raymondhill.net" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/uBlock0@raymondhill.net/latest.xpl";
default_area = "menupanel";
};
# Vimium
"{d7742d87-e61d-4b78-b8a1-b469842139fa}" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/{d7742d87-e61d-4b78-b8a1-b469842139fa}/latest.xpl";
default_area = "menupanel";
};
# Cookie CURL Dumper
"{12cf650b-1822-40aa-bff0-996df6948878}" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/{12cf650b-1822-40aa-bff0-996df6948878}/latest.xpl";
default_area = "menupanel";
};
"sponsorBlocker@ajay.app" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorBlocker@ajay.app/latest.xpl";
default_area = "menupanel";
};
};
};
};
home.packages = builtins.attrValues {
inherit (pkgs)
pywalfox-native
;
};
systemd.user.tmpfiles.rules = [
"L+ /home/crow/.cache/wal/dank-pywalfox.json - - - - /home/crow/.cache/wal/colors.json"
];
programs.deferredApps = {
enable = true;
packages = builtins.attrValues {
inherit (pkgs)
mullvad-browser
ungoogled-chromium
brave
;
};
};
}