From 4d4bb32afa7bd2237347d098968523950bf6222f Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 25 Jul 2026 00:19:17 +0530 Subject: feat: migrate from brave to chromium, enable aria2 systemd integration - Replace Brave with Chromium as default browser - Switch to uBlock Origin Lite, add extension descriptions - Enable vertical tabs, high efficiency mode, and system color theme - Remove managed browser policies (RestoreOnStartup, PasswordManager, etc.) - Expose configurable `web.chromium.package` option - Fix browserpass guard to check `chromium.enable` instead of `brave.enable` - Enable systemd integration for aria2 --- modules/web/chromium/default.nix | 83 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 modules/web/chromium/default.nix (limited to 'modules/web/chromium/default.nix') diff --git a/modules/web/chromium/default.nix b/modules/web/chromium/default.nix new file mode 100644 index 0000000..4296430 --- /dev/null +++ b/modules/web/chromium/default.nix @@ -0,0 +1,83 @@ +# Chromium - Web browser configuration +{ + config, + lib, + ... +}: +{ + imports = [ + ./browserpass.nix + ]; + + options.web.chromium = { + enable = lib.mkEnableOption "Enables chromium."; + package = lib.mkOption { + type = lib.types.package; + default = config.programs.chromium.finalPackage; + defaultText = lib.literalExpression "config.programs.chromium.finalPackage"; + description = "Package to use for chromium. Defaults to the wrapped finalPackage from programs.chromium."; + }; + }; + + config = lib.mkIf config.web.chromium.enable { + programs.chromium = { + enable = true; + + commandLineArgs = [ + "--force-device-scale-factor=1.15" + ]; + + extensions = [ + { id = "ddkjiahejlhfcafbddmgiahcphecmpfh"; } # uBlock Origin Lite + { id = "naepdomgkenhinolocfifgehidddafch"; } # Browserpass + { id = "mpkodccbngfoacfalldjimigbofkhgjn"; } # Dark Reader + { id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; } # Dark Reader + { id = "hpejmncgbammabkkodflfeekpcicfjnk"; } # Aria2 Explorer + ]; + }; + + xdg.mimeApps.defaultApplications = { + "x-scheme-handler/http" = "chromium-browser.desktop"; + "x-scheme-handler/https" = "chromium-browser.desktop"; + "x-scheme-handler/chrome" = "chromium-browser.desktop"; + "text/html" = "chromium-browser.desktop"; + "application/xhtml+xml" = "chromium-browser.desktop"; + }; + + xdg.configFile."chromium/Default/Preferences" = { + force = true; + text = builtins.toJSON { + browser = { + show_full_urls = true; + theme = { + follows_system_colors = true; + }; + }; + vertical_tabs = { + collapsed_state = true; + enabled = true; + enabled_first_time = true; + uncollapsed_width = 240; + }; + credentials_enable_service = false; + credentials_enable_autosignin = false; + extensions = { + pinned_extensions = [ + "ddkjiahejlhfcafbddmgiahcphecmpfh" + "naepdomgkenhinolocfifgehidddafch" + "eimadpbcbfnmbkopoojfekhnkhdbieeh" + ]; + ui = { + developer_mode = true; + }; + }; + profile = { + default_content_setting_values = { + notifications = 2; + }; + }; + high_efficiency_mode_enabled = true; + }; + }; + }; +} -- cgit v1.2.3