diff options
Diffstat (limited to 'modules/web/chromium/default.nix')
| -rw-r--r-- | modules/web/chromium/default.nix | 149 |
1 files changed, 68 insertions, 81 deletions
diff --git a/modules/web/chromium/default.nix b/modules/web/chromium/default.nix index 2cd9fc1..8a86a5a 100644 --- a/modules/web/chromium/default.nix +++ b/modules/web/chromium/default.nix @@ -7,7 +7,7 @@ { imports = [ ./browserpass.nix - ./extensions/assertions.nix + ./extensions ]; options.web.chromium = { @@ -29,93 +29,80 @@ }; }; - config = lib.mkIf config.web.chromium.enable ( - let - exts = import ./extensions { - inherit lib pkgs config; - checkForUpdates = config.web.chromium.checkForUpdates; - }; - - extensionDirs = [ - exts.aria2Explorer.drv - exts.browserpass.drv - exts.darkMode.drv - exts.searxngHome.drv - exts.theme.drv - exts.ublockOrigin.drv - ]; - - pinnedIds = lib.filter (id: id != null) [ - exts.browserpass.id - exts.darkMode.id - exts.ublockOrigin.id - ]; - in - { - programs.chromium = { - enable = true; - package = pkgs.ungoogled-chromium; - commandLineArgs = [ + config = lib.mkIf config.web.chromium.enable { + programs.chromium = { + enable = true; + package = pkgs.ungoogled-chromium; + commandLineArgs = + let + extensionDirs = lib.concatStringsSep "," ( + lib.mapAttrsToList (_: ext: ext.drv) config.web.chromium.extensions + ); + in + [ "--force-device-scale-factor=1.15" - "--load-extension=${lib.concatStringsSep "," extensionDirs}" + "--load-extension=${extensionDirs}" ]; - }; + }; - 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.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 { - NewTabPage = { - FooterVisible = false; - }; - bookmark_bar = { - show_on_all_tabs = false; - }; - browser = { - show_full_urls = true; - theme = { - follows_system_colors = true; - }; - }; - search = { - suggest_enabled = false; - }; - url_handling = { - show_full_urls = true; - }; - autofill = { - profile_enabled = false; - credit_card_enabled = false; - }; - vertical_tabs = { - collapsed_state = true; - enabled = true; - enabled_first_time = true; - uncollapsed_width = 240; + xdg.configFile."chromium/Default/Preferences" = { + force = true; + text = builtins.toJSON { + NewTabPage = { + FooterVisible = false; + }; + bookmark_bar = { + show_on_all_tabs = false; + }; + browser = { + show_full_urls = true; + theme = { + follows_system_colors = true; }; - credentials_enable_service = false; - credentials_enable_autosignin = false; - extensions = { - pinned_extensions = pinnedIds; - ui = { - developer_mode = true; - }; + }; + search = { + suggest_enabled = false; + }; + url_handling = { + show_full_urls = true; + }; + autofill = { + profile_enabled = false; + credit_card_enabled = false; + }; + 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 = [ + config.web.chromium.extensions.browserpass.id + config.web.chromium.extensions.darkMode.id + config.web.chromium.extensions.ublockOrigin.id + ]; + ui = { + developer_mode = true; }; - profile = { - default_content_setting_values = { - notifications = 2; - }; + }; + profile = { + default_content_setting_values = { + notifications = 2; }; - high_efficiency_mode_enabled = true; }; + high_efficiency_mode_enabled = true; }; - } - ); + }; + }; } |
