diff options
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; + }; + }; + }; +} |
