nixcfg/nixosModules/desktop/greetd/default.nix

48 lines
1.4 KiB
Nix
Raw Normal View History

{
inputs,
pkgs,
lib,
config,
...
}: {
options = {
alyraffauf.desktop.greetd.enable =
lib.mkEnableOption "Enable greetd.";
alyraffauf.desktop.greetd.session = lib.mkOption {
description = "Default command to execute on login.";
default = inputs.hyprland.packages.${pkgs.system}.hyprland + "/bin/Hyprland";
type = lib.types.str;
};
2024-05-01 17:44:08 -04:00
alyraffauf.desktop.greetd.autologin.enable = lib.mkOption {
description = "Whether to enable autologin.";
default = false;
type = lib.types.bool;
};
alyraffauf.desktop.greetd.autologin.user = lib.mkOption {
description = "User to autologin.";
default = "aly";
type = lib.types.str;
};
};
config = lib.mkIf config.alyraffauf.desktop.greetd.enable {
services = {
greetd = {
enable = true;
settings = rec {
default_session = {
command = lib.mkDefault "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks -g 'Welcome to NixOS ${config.system.nixos.release}' --time --remember --cmd ${config.alyraffauf.desktop.greetd.session}";
};
2024-05-01 17:44:08 -04:00
initial_session =
if config.alyraffauf.desktop.greetd.autologin.enable
then {
command = config.alyraffauf.desktop.greetd.session;
user = config.alyraffauf.desktop.greetd.autologin.user;
}
else {};
};
};
};
};
}