diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-25 00:19:17 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-25 00:19:17 +0530 |
| commit | 4d4bb32afa7bd2237347d098968523950bf6222f (patch) | |
| tree | 23c9b6ad13bf7b436415845efd9b4c188e085a3d /modules/web/chromium | |
| parent | e968e583fcdc3e9f3992e00bda5354383d7dff65 (diff) | |
| download | home-manager-config-4d4bb32afa7bd2237347d098968523950bf6222f.tar.gz home-manager-config-4d4bb32afa7bd2237347d098968523950bf6222f.zip | |
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
Diffstat (limited to 'modules/web/chromium')
| -rw-r--r-- | modules/web/chromium/browserpass.nix | 14 | ||||
| -rw-r--r-- | modules/web/chromium/default.nix | 83 |
2 files changed, 97 insertions, 0 deletions
diff --git a/modules/web/chromium/browserpass.nix b/modules/web/chromium/browserpass.nix new file mode 100644 index 0000000..a07b1d7 --- /dev/null +++ b/modules/web/chromium/browserpass.nix @@ -0,0 +1,14 @@ +# Browserpass - browser extension providing it access to your password store +{ + lib, + config, + ... +}: +{ + config = lib.mkIf (config.web.chromium.enable && config.security.gopass.enable) { + programs.browserpass = { + enable = true; + browsers = [ "chromium" ]; + }; + }; +} 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; + }; + }; + }; +} |
