zen: overhaul configuration
Declaratively configure plugin installation and configuration. Use my own self-hosted sync server.
This commit is contained in:
75
home-manager/progs/zen/default.nix
Normal file
75
home-manager/progs/zen/default.nix
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
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";
|
||||
}
|
||||
Reference in New Issue
Block a user