Files
dotfiles/home-manager/progs/zen/default.nix
Simon Gardling 1fc00ab1a3 zen: overhaul configuration
Declaratively configure plugin installation and configuration.

Use my own self-hosted sync server.
2026-03-21 13:33:47 -04:00

76 lines
2.1 KiB
Nix

{
pkgs,
lib,
inputs,
config,
...
}:
let
firefox-addons = inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system};
buildFirefoxXpiAddon =
inputs.firefox-addons.lib.${pkgs.stdenv.hostPlatform.system}.buildFirefoxXpiAddon;
hacker-smacker = buildFirefoxXpiAddon {
pname = "hacker-smacker";
version = "2.2";
addonId = "jid1-eo0mcXLTqCkaWA@jetpack";
url = "https://addons.mozilla.org/firefox/downloads/file/4715262/hacker_smacker-2.2.xpi";
sha256 = "d28f0597d5c4bae5db712b4875f4104120f7e55e5ea769c44d70996be31cc0d1";
meta = with lib; {
homepage = "https://www.hackersmacker.org";
description = "Highlight (friend) and filter (foe) individual authors on Hacker News";
license = licenses.mit;
platforms = platforms.all;
};
};
ublockSettings = import ./ublock.nix { inherit lib; };
darkReaderSettings = import ./dark-reader.nix { inherit lib; };
in
{
programs.zen-browser = {
enable = true;
profiles.default = {
isDefault = true;
extensions = {
force = true;
packages =
(with firefox-addons; [
bitwarden
buster-captcha-solver
consent-o-matic
darkreader
fastforwardteam
localcdn
refined-github
return-youtube-dislikes
search-by-image # reverse image search
ruffle_rs
snowflake
steam-database
ublock-origin
])
++ [ hacker-smacker ];
settings = {
"uBlock0@raymondhill.net" = ublockSettings;
"addon@darkreader.org" = darkReaderSettings;
};
};
settings = {
"identity.sync.tokenserver.uri" = "https://firefox-sync.sigkill.computer/1.0/sync/1.5";
# auto-enable extensions on install
"extensions.autoDisableScopes" = 0;
};
};
};
# Zen ignores XDG and hardcodes ~/.zen — symlink to module-managed path
home.file.".zen".source = config.lib.file.mkOutOfStoreSymlink "${config.xdg.configHome}/zen";
home.sessionVariables.BROWSER = "zen";
}