blob: d1aa88f6be72d582734228fdb561b67e2c17a899 [file] [log] [blame]
Skyler Grey4e230892024-02-13 22:58:46 +00001{ lib, config, ... }: {
2 options.chimera.browser.firefox = {
3 enable = lib.mkEnableOption "Use firefox browser";
4 extensions = {
5 bitwarden.enable = lib.mkEnableOption "Turn on Bitwarden extension";
6 youtube = {
7 sponsorBlock.enable = lib.mkEnableOption "Turn on Sponsor Block";
8 returnDislike.enable = lib.mkEnableOption "Turn on Return Youtube Dislike";
9 deArrow.enable = lib.mkEnableOption "Turn on De Arrow";
10 };
11 reactDevTools.enable = lib.mkEnableOption "Turn on React Dev Tools";
12 ublockOrigin.enable = lib.mkEnableOption "Turn on uBlock Origin ad blocker";
13 adnauseam.enable = lib.mkEnableOption "Turn on AdNauseam ad blocker";
14 };
15 extraExtensions = lib.mkOption {
16 type = lib.types.listOf lib.types.package;
17 description = "Extra extensions to add to firefox";
18 };
19 };
20 config = lib.mkIf config.chimera.browser.firefox.enable ({
21 programs.firefox = {
22 enable = true;
23 profiles.chimera.extensions = (if config.chimera.browser.firefox.extensions.bitwarden.enable then [ config.nur.repos.rycee.firefox-addons.bitwarden ] else [])
24 ++ (if config.chimera.browser.firefox.extensions.youtube.sponsorBlock.enable then [ config.nur.repos.rycee.firefox-addons.sponsorblock ] else [])
25 ++ (if config.chimera.browser.firefox.extensions.youtube.returnDislike.enable then [ config.nur.repos.rycee.firefox-addons.return-youtube-dislikes ] else [])
26 ++ (if config.chimera.browser.firefox.extensions.youtube.deArrow.enable then [ config.nur.repos.rycee.firefox-addons.dearrow ] else [])
27 ++ (if config.chimera.browser.firefox.extensions.reactDevTools.enable then [ config.nur.repos.rycee.firefox-addons.react-devtools ] else [])
28 ++ (if config.chimera.browser.firefox.extensions.ublockOrigin.enable then [ config.nur.repos.rycee.firefox-addons.ublock-origin ] else [])
29 ++ (if config.chimera.browser.firefox.extensions.adnauseam.enable then [ config.nur.repos.rycee.firefox-addons.adnauseam ] else [])
30 ++ config.chimera.browser.firefox.extraExtensions;
31 };
32 });
33}