mirror of
https://github.com/CHN-beta/nixos.git
synced 2024-10-23 10:29:09 +08:00
36 lines
1.1 KiB
Nix
36 lines
1.1 KiB
Nix
inputs:
|
|
{
|
|
options.nixos.system.gui = let inherit (inputs.lib) mkOption types; in
|
|
{
|
|
enable = mkOption { type = types.bool; default = false; };
|
|
preferred = mkOption { type = types.bool; default = false; };
|
|
};
|
|
config =
|
|
let
|
|
inherit (inputs.lib) mkIf;
|
|
inherit (inputs.config.nixos.system) gui;
|
|
in mkIf gui.enable
|
|
{
|
|
services.xserver =
|
|
{
|
|
enable = true;
|
|
displayManager = { sddm.enable = true; defaultSession = "plasmawayland"; };
|
|
desktopManager.plasma5.enable = true;
|
|
videoDrivers = inputs.config.nixos.hardware.gpus;
|
|
};
|
|
systemd.services.display-manager.after = [ "network-online.target" ];
|
|
environment.sessionVariables."GTK_USE_PORTAL" = "1";
|
|
xdg.portal.extraPortals = map (p: inputs.pkgs."xdg-desktop-portal-${p}") [ "gtk" "kde" "wlr" ];
|
|
i18n.inputMethod =
|
|
{
|
|
enabled = "fcitx5";
|
|
fcitx5.addons = with inputs.pkgs; [ fcitx5-rime fcitx5-chinese-addons fcitx5-mozc ];
|
|
};
|
|
programs =
|
|
{
|
|
dconf.enable = true;
|
|
xwayland.enable = true;
|
|
};
|
|
};
|
|
}
|