{ pkgs, lib, ... }: { programs.firefox = { # please see Mozilla's TOU and privacy policy please i implore you enable = false; }; programs.chromium = { enable = pkgs.stdenv.isLinux; package = pkgs.ungoogled-chromium.override { enableWideVine = true; commandLineArgs = [ "--enable-features=AcceleratedVideoEncoder,Vulkan,VulkanFromANGLE,DefaultANGLEVulkan" "--ignore-gpu-blocklist" "--force-dark-mode" "--enable-zero-copy" ]; }; extensions = 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 [ (createChromiumExtension { # ublock origin id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; sha256 = "sha256:0pdh1v0vx1d5vnl1zh7nbk6j1fh4k4hhwp1ljs203icn306lahsn"; # sha256 = lib.fakeSha256; version = "1.67.0"; }) (createChromiumExtension { # bitwarden id = "nngceckbapebfimnlniiiahkandclblb"; sha256 = "sha256:0jxk3cqmgd5qj8hnw7s0k5s4bfrcmr0w0rckp3x0bmng07azw4gi"; version = "2025.10.0"; }) (createChromiumExtension { # react dev tools id = "fmkadmapgofadopljbjfkapdkoienihi"; sha256 = "sha256:01vy0x7hdkj4g3m2l4kw5rwldhhpkcxmd2miy5rj2dzxdnbchw2z"; version = "7.0.1"; }) (createChromiumExtension { # wappalyzer id = "gppongmhjkpfnbhagpmjfkannfbllamg"; sha256 = "sha256:1mi1wpm714r8yp0zh0yg6kccnld36rj4xb8j4y0c18y9176vc6wx"; version = "6.10.86"; }) (createChromiumExtension { # obsidian web clipper id = "cnjifjpddelmedmihgijeibhnjfabmlf"; sha256 = "sha256:0bp6g63g9hk2xbq054lpf5hzwmn73jzh3hswyjfp9r7yqj83mzgy"; version = "0.12.0"; }) ]; }; }