greetd optionals
This commit is contained in:
@@ -105,7 +105,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
gnome-keyring = {
|
gnome-keyring = {
|
||||||
enable = true;
|
enable = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
session = {
|
session = {
|
||||||
@@ -132,6 +132,11 @@
|
|||||||
};
|
};
|
||||||
greetd = {
|
greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
gnomeKeyring.enable = false;
|
||||||
|
autologin = {
|
||||||
|
enable = false;
|
||||||
|
user = "cnst";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
gvfs = {
|
gvfs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -127,6 +127,11 @@
|
|||||||
};
|
};
|
||||||
greetd = {
|
greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
gnomeKeyring.enable = false;
|
||||||
|
autologin = {
|
||||||
|
enable = false;
|
||||||
|
user = "cnst";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
gvfs = {
|
gvfs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -128,6 +128,11 @@
|
|||||||
};
|
};
|
||||||
greetd = {
|
greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
gnomeKeyring.enable = false;
|
||||||
|
autologin = {
|
||||||
|
enable = false;
|
||||||
|
user = "toothpick";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
gvfs = {
|
gvfs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -4,27 +4,55 @@
|
|||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf mkEnableOption mkMerge mkOption types;
|
||||||
cfg = config.modules.sysd.system.greetd;
|
cfg = config.modules.sysd.system.greetd;
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
modules.sysd.system.greetd.enable = mkEnableOption "Enables greetd";
|
modules.sysd.system.greetd = {
|
||||||
|
enable = mkEnableOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Enables the greetd service.";
|
||||||
};
|
};
|
||||||
|
gnomeKeyring.enable = mkEnableOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Enables GnomeKeyring PAM service for greetd.";
|
||||||
|
};
|
||||||
|
autologin.enable = mkEnableOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Enables autologin for a specified user.";
|
||||||
|
};
|
||||||
|
autologin.user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "cnst";
|
||||||
|
description = "The username to auto-login when autologin is enabled.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = mkMerge [
|
||||||
# AUTOLOGIN
|
# Conditionally include initial_session if autologin is enabled
|
||||||
# initial_session = {
|
(mkIf cfg.autologin.enable {
|
||||||
# command = "${pkgs.hyprland}/bin/Hyprland";
|
initial_session = {
|
||||||
# user = "cnst"; # <- select which user to auto-login
|
command = "${pkgs.hyprland}/bin/Hyprland";
|
||||||
# };
|
user = cfg.autologin.user;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
{
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet -r --remember-session --asterisks";
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet -r --remember-session --asterisks";
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
# Apply GnomeKeyring PAM Service based on user configuration
|
||||||
|
security.pam.services.greetd.enableGnomeKeyring = cfg.gnomeKeyring.enable;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user