{config, pkgs, lib, ...}: let createChromiumExtensionFor = browserVersion: { id, sha256, version }: { inherit id; crxPath = builtins.fetchurl { url = "https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=${browserVersion}&x=id%3D${id}%26installsource%3Dondemand%26uc"; name = "${id}.crx"; inherit sha256; }; inherit version; }; createChromiumExtension = createChromiumExtensionFor (lib.versions.major pkgs.ungoogled-chromium.version); in { programs.browserpass.browsers = [ "chromium" ]; programs.chromium = { enable = true; package = (pkgs.ungoogled-chromium.override { commandLineArgs = [ "--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer" "--ozone-platform=wayland" ]; }); extensions = [ # browserpass (createChromiumExtension { id = "naepdomgkenhinolocfifgehidddafch"; sha256 = "1gwy7fa1076ynaspz8rsfrp29cizgp7dk2wbznaxhbmim9ys6hkq"; version = "3.7.2"; }) # ublock origin (createChromiumExtension { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; sha256 = "01wvxrcn6sv8da1cljhaq386ls5s055lka4axdqdbn98xw74cbqy"; version = "1.40.8"; }) # uMatrix (createChromiumExtension { id = "ogfcmafjalglgifnmanfmnieipoejdcf"; sha256 = "0l1i79naglp2xbqvkvrw7340749wncdql8dklrklz3b406c01cmf"; version = "1.4.4"; }) # ipvFoo (createChromiumExtension { id = "ecanpcehffngcegjmadlcijfolapggal"; sha256 = "11xqynrmqsxi2l52krag1cfjksw0ch4h3hrz99wf2b7h5p9l9z0g"; version = "1.44"; }) # Vertical Tabs by Michael (createChromiumExtension { id = "pddljdmihkpdfpkgmbhdomeeifpklgnm"; sha256 = "19hb2gmkr4fb4mnsyvak0k1w33m3v9yjsad5lzcm8yamna18829y"; version = "2.0.4"; }) ]; }; }