| { lib, config, ... }: { |
| options.chimera.browser.chromium = { |
| enable = lib.mkEnableOption "Use chromium browser"; |
| extensions = { |
| bitwarden.enable = lib.mkEnableOption "Turn on Bitwarden extension"; |
| youtube = { |
| sponsorBlock.enable = lib.mkEnableOption "Turn on Sponsor Block"; |
| returnDislike.enable = lib.mkEnableOption "Turn on Return Youtube Dislike"; |
| deArrow.enable = lib.mkEnableOption "Turn on De Arrow"; |
| }; |
| reactDevTools.enable = lib.mkEnableOption "Turn on React Dev Tools"; |
| ublockOrigin.enable = lib.mkEnableOption "Turn on uBlock Origin ad blocker"; |
| }; |
| extraExtensions = lib.mkOption { |
| type = lib.types.listOf (lib.types.either { id = lib.types.str; } { id = lib.types.str; crxPath = lib.types.path; version = lib.types.str; }); |
| description = "Extra extensions to add to chromium on launch"; |
| default = []; |
| }; |
| }; |
| config = lib.mkIf config.chimera.browser.chromium.enable ({ |
| programs.chromium = { |
| enable = true; |
| extensions = |
| (if config.chimera.browser.chromium.extensions.bitwarden.enable then [{ id = "nngceckbapebfimnlniiiahkandclblb"; }] else []) #Bitwarden |
| ++ (if config.chimera.browser.chromium.extensions.youtube.sponsorBlock.enable then [{ id = "mnjggcdmjocbbbhaepdhchncahnbgone"; }] else []) #Sponsor Block |
| ++ (if config.chimera.browser.chromium.extensions.youtube.returnDislike.enable then [{ id = "gebbhagfogifgggkldgodflihgfeippi"; }] else []) #Return youtube dislike |
| ++ (if config.chimera.browser.chromium.extensions.youtube.deArrow.enable then [{ id = "enamippconapkdmgfgjchkhakpfinmaj"; }] else []) #DeArrow |
| ++ (if config.chimera.browser.chromium.extensions.reactDevTools.enable then [{ id = "fmkadmapgofadopljbjfkapdkoienihi"; }] else []) #React Dev Tools |
| ++ (if config.chimera.browser.chromium.extensions.ublockOrigin.enable then [{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; }] else []) #uBlock Origin |
| ++ config.chimera.browser.chromium.extraExtensions; |
| }; |
| }); |
| } |