nix/modules/nixos/greeter.nix

39 lines
855 B
Nix

{
pkgs,
lib,
config,
inputs,
...
}: let
tuigreet = "${pkgs.greetd.tuigreet}/bin/tuigreet";
in {
options.greeter = {
session = lib.mkOption {
type = lib.types.str;
description = "Path to the session binary";
};
};
config = {
environment.etc.session.text = toString config.greeter.session;
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${tuigreet} --time --remember --remember-session --sessions ${config.greeter.session}/bin/niri-session";
user = "greeter";
};
};
};
systemd.services.greetd.serviceConfig = {
Type = "idle";
StandardInput = "tty";
StandardOutput = "tty";
StandardError = "journal";
TTYReset = true;
TTYVHangup = true;
TTYVDisallocate = true;
};
};
}