{ pkgs, ... }: { home.packages = with pkgs; [ # firefox-wayland nixpaks.firefox nixpaks.firefox-desktop-item ]; programs = { # source code: https://github.com/nix-community/home-manager/blob/master/modules/programs/chromium.nix google-chrome = { enable = true; package = if pkgs.stdenv.isAarch64 then pkgs.chromium else pkgs.google-chrome; # https://wiki.archlinux.org/title/Chromium#Native_Wayland_support commandLineArgs = [ "--ozone-platform-hint=auto" "--ozone-platform=wayland" # make it use GTK_IM_MODULE if it runs with Gtk4, so fcitx5 can work with it. # (only supported by chromium/chrome at this time, not electron) "--gtk-version=4" # make it use text-input-v1, which works for kwin 5.27 and weston "--enable-wayland-ime" # enable hardware acceleration - vulkan api # "--enable-features=Vulkan" ]; }; vscode = { enable = true; package = pkgs.vscode.override { isInsiders = false; # https://wiki.archlinux.org/title/Wayland#Electron commandLineArgs = [ "--ozone-platform-hint=auto" "--ozone-platform=wayland" # make it use GTK_IM_MODULE if it runs with Gtk4, so fcitx5 can work with it. # (only supported by chromium/chrome at this time, not electron) "--gtk-version=4" # make it use text-input-v1, which works for kwin 5.27 and weston "--enable-wayland-ime" # TODO: fix https://github.com/microsoft/vscode/issues/187436 # still not works... "--password-store=gnome" # use gnome-keyring as password store ]; }; }; }; }