1{
2 config,
3 lib,
4 ...
5}: {
6 options.myNixOS.services.sddm = {
7 enable = lib.mkEnableOption "use sddm";
8
9 autoLogin = lib.mkOption {
10 description = "User to autologin.";
11 default = null;
12 type = lib.types.nullOr lib.types.str;
13 };
14 };
15
16 config = lib.mkIf config.myNixOS.services.sddm.enable {
17 security.pam.services.sddm = {
18 enableGnomeKeyring = true;
19 gnupg.enable = true;
20 kwallet.enable = false;
21 };
22
23 services = {
24 displayManager = {
25 autoLogin = lib.mkIf (config.myNixOS.services.sddm.autoLogin != null) {
26 enable = true;
27 user = config.myNixOS.services.sddm.autoLogin;
28 };
29
30 sddm = {
31 enable = true;
32 wayland = {
33 enable = true;
34 compositor = "kwin";
35 };
36 };
37 };
38 };
39 };
40}