Skyler Grey | 4e23089 | 2024-02-13 22:58:46 +0000 | [diff] [blame^] | 1 | { 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 | } |