swtch displayManager from gdm to greetd

This commit is contained in:
ulic-youthlic 2025-05-02 15:36:40 +08:00
parent 11c79bbe01
commit e94dee0c7f
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
6 changed files with 104 additions and 21 deletions

View file

@ -6,6 +6,13 @@
}: let
cfg = config.youthlic.gui;
in {
options = {
youthlic.gui.niri = {
extraConfig = lib.mkOption {
type = lib.types.str;
};
};
};
config = lib.mkIf (cfg.enabled == "niri") {
qt = {
enable = true;
@ -61,20 +68,49 @@ in {
hardware.bluetooth = {
enable = true;
};
services.xserver = {
enable = true;
xkb = {
layout = "cn";
variant = "";
};
displayManager.gdm = {
services = {
greetd = let
niriConfig = pkgs.writeText "greetd-niri-config.kdl" (''
binds {}
hotkey-overlay {
skip-at-startup
}
gestures {
hot-corners {
off
}
}
spawn-at-startup "${lib.getExe pkgs.swaybg}" "-i" "${config.stylix.image}"
''
+ config.youthlic.gui.niri.extraConfig);
in {
enable = true;
wayland = true;
settings = {
default_session = {
command = "env GTK_USE_PORTAL=0 GDK_DEBUG=no-portals ${lib.getExe' config.programs.niri.package "niri"} --config ${niriConfig} -- ${lib.getExe config.programs.regreet.package}";
};
};
};
xserver = {
enable = true;
xkb = {
layout = "us";
variant = "";
};
# displayManager.gdm = {
# enable = true;
# wayland = true;
# };
};
};
programs.niri = {
enable = true;
package = pkgs.niri-unstable;
programs = {
regreet = {
enable = true;
};
niri = {
enable = true;
package = pkgs.niri-unstable;
};
};
};
}