current
1{lib, ...}: {
2 flake.modules.homeManager.desktop = {
3 pkgs,
4 osConfig,
5 ...
6 }: let
7 chromiumCLA =
8 lib.optionals isLinux ([
9 "--ozone-platform-hint=auto"
10 "--enable-wayland-ime"
11 "--wayland-text-input-version=3"
12 ]
13 ++ lib.optionals (!isPlasma) [
14 # Fix https://github.com/microsoft/vscode/issues/187338
15 "--password-store=gnome-libsecret"
16 ])
17 ++ ["-–disable-features=GlobalShortcutsPortal"];
18
19 isLinux = pkgs.stdenv.hostPlatform.isLinux;
20 isPlasma = isLinux && (osConfig.services.desktopManager.plasma6.enable or false);
21 in {
22 programs.chromium = {
23 enable = true;
24 package = lib.mkIf isLinux (pkgs.chromium.override {
25 commandLineArgs = chromiumCLA;
26 });
27 nativeMessagingHosts = lib.optionals isPlasma [
28 pkgs.kdePackages.plasma-browser-integration
29 ];
30 extensions =
31 [
32 {id = "nngceckbapebfimnlniiiahkandclblb";} # Bitwarden
33 {id = "ddkjiahejlhfcafbddmgiahcphecmpfh";} # Ublock Origin Lite
34 ]
35 ++ (lib.optional isPlasma {id = "cimiefiiaegbelhefglklhhakcgmhkai";}); # Plasma Integration
36 };
37 };
38}