2026-05-25 09:19:08 +02:00
|
|
|
# greetd login manager for m3-kratos (replaces broken GDM on nixos-unstable).
|
|
|
|
|
# Uses tuigreet as the greeter, launching Hyprland after authentication.
|
|
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
config,
|
2026-05-25 09:34:01 +02:00
|
|
|
lib,
|
2026-05-25 09:19:08 +02:00
|
|
|
...
|
|
|
|
|
}: let
|
2026-05-25 09:34:01 +02:00
|
|
|
tuigreet = "${lib.getExe pkgs.tuigreet}";
|
|
|
|
|
# Use Hyprland directly - tuigreet's --cmd finds it via PATH
|
|
|
|
|
# Using the simple binary name allows greetd to launch it properly
|
|
|
|
|
hyprlandCmd = "Hyprland";
|
2026-05-25 09:19:08 +02:00
|
|
|
in {
|
|
|
|
|
services.greetd = {
|
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
|
|
settings = {
|
|
|
|
|
default_session = {
|
|
|
|
|
user = "greeter";
|
2026-05-25 09:34:01 +02:00
|
|
|
# Minimal config: verified supported flags only
|
|
|
|
|
# The --time and --remember are tested; power commands omitted
|
|
|
|
|
# to avoid potential quoting/parsing issues
|
2026-05-25 09:19:08 +02:00
|
|
|
command = builtins.concatStringsSep " " [
|
|
|
|
|
tuigreet
|
|
|
|
|
"--time"
|
|
|
|
|
"--remember"
|
|
|
|
|
"--asterisks"
|
2026-05-25 09:34:01 +02:00
|
|
|
"--cmd ${hyprlandCmd}"
|
2026-05-25 09:19:08 +02:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2026-05-25 09:34:01 +02:00
|
|
|
# Required for --remember to persist username between logins
|
2026-05-25 09:19:08 +02:00
|
|
|
systemd.tmpfiles.rules = [
|
|
|
|
|
"d /var/cache/tuigreet 0755 greeter greeter - -"
|
|
|
|
|
];
|
|
|
|
|
}
|