| { 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; |
| }; |
| }); |
| } |