{ config, lib, pkgs, ... }: with lib; let cfg = config.ezpc; in { options.ezpc.enable = mkEnableOption "Enable ezpc system stuff"; config = mkIf cfg.enable { xdg.portal.enable = lib.mkDefault true; xdg.portal.extraPortals = lib.mkDefault (with pkgs; [ xdg-desktop-portal-wlr xdg-desktop-portal-gtk ]); environment.sessionVariables = { QT_QPA_PLATFORM = "wayland-egl;xcb"; MOZ_ENABLE_WAYLAND = "1"; QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; ECORE_EVAS_ENGINE = "wayland_egl"; ELM_ENGINE = "wayland_egl"; _JAVA_AWT_WM_NONREPARENTING = "1"; NIXOS_OZONE_WL = "1"; }; environment.loginShellInit = lib.mkAfter '' [[ "$(tty)" == /dev/tty1 ]] && { exec sway } ''; i18n.inputMethod = { enabled = "ibus"; ibus.engines = with pkgs.ibus-engines; [typing-booster uniemoji]; }; }; }