blob: 16dd34e7bfc29ea43d0a5878ab50de9f90c15312 [file] [log] [blame]
Skyler Grey4e230892024-02-13 22:58:46 +00001{ lib, config, ... }: {
2 options.chimera.browser.chromium = {
3 enable = lib.mkEnableOption "Use chromium 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 };
14 extraExtensions = lib.mkOption {
15 type = lib.types.listOf (lib.types.either { id = lib.types.str; } { id = lib.types.str; crxPath = lib.types.path; version = lib.types.str; });
16 description = "Extra extensions to add to chromium on launch";
17 default = [];
18 };
19 };
20 config = lib.mkIf config.chimera.browser.chromium.enable ({
21 programs.chromium = {
22 enable = true;
23 extensions =
24 (if config.chimera.browser.chromium.extensions.bitwarden.enable then [{ id = "nngceckbapebfimnlniiiahkandclblb"; }] else []) #Bitwarden
25 ++ (if config.chimera.browser.chromium.extensions.youtube.sponsorBlock.enable then [{ id = "mnjggcdmjocbbbhaepdhchncahnbgone"; }] else []) #Sponsor Block
26 ++ (if config.chimera.browser.chromium.extensions.youtube.returnDislike.enable then [{ id = "gebbhagfogifgggkldgodflihgfeippi"; }] else []) #Return youtube dislike
27 ++ (if config.chimera.browser.chromium.extensions.youtube.deArrow.enable then [{ id = "enamippconapkdmgfgjchkhakpfinmaj"; }] else []) #DeArrow
28 ++ (if config.chimera.browser.chromium.extensions.reactDevTools.enable then [{ id = "fmkadmapgofadopljbjfkapdkoienihi"; }] else []) #React Dev Tools
29 ++ (if config.chimera.browser.chromium.extensions.ublockOrigin.enable then [{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; }] else []) #uBlock Origin
30 ++ config.chimera.browser.chromium.extraExtensions;
31 };
32 });
33}