Loading nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix +3 −4 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ # Automatically login as nixos. services.displayManager = { sddm.enable = true; plasma-login-manager.enable = true; autoLogin = { enable = true; user = "nixos"; Loading @@ -19,9 +19,8 @@ }; environment.systemPackages = [ # FIXME: using Qt5 builds of Maliit as upstream has not ported to Qt6 yet pkgs.maliit-framework pkgs.maliit-keyboard # provide onscreen keyboard pkgs.kdePackages.plasma-keyboard ]; environment.plasma6.excludePackages = [ Loading nixos/modules/module-list.nix +1 −0 Original line number Diff line number Diff line Loading @@ -619,6 +619,7 @@ ./services/display-managers/greetd.nix ./services/display-managers/lemurs.nix ./services/display-managers/ly.nix ./services/display-managers/plasma-login-manager.nix ./services/display-managers/sddm.nix ./services/editors/emacs.nix ./services/editors/haste.nix Loading nixos/modules/profiles/graphical.nix +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ }; services = { displayManager.sddm.enable = true; displayManager.plasma-login-manager.enable = true; libinput.enable = true; # for touchpad support on many laptops }; Loading nixos/modules/services/display-managers/plasma-login-manager.nix 0 → 100644 +123 −0 Original line number Diff line number Diff line { config, lib, pkgs, ... }: let inherit (lib) mkIf mkEnableOption mkOption mkPackageOption optionalAttrs ; cfg = config.services.displayManager.plasma-login-manager; xcfg = config.services.xserver; dmcfg = config.services.displayManager; iniFmt = pkgs.formats.ini { }; defaultConfig = optionalAttrs xcfg.enable { X11.ServerPath = xcfg.displayManager.xserverBin; } // optionalAttrs dmcfg.autoLogin.enable { Autologin = { User = dmcfg.autoLogin.user; Session = "${dmcfg.sessionData.autologinSession}.desktop"; }; }; defaultConfigFile = iniFmt.generate "00-nixos-defaults.conf" defaultConfig; userConfigFile = iniFmt.generate "99-user.conf" cfg.settings; in { options.services.displayManager.plasma-login-manager = { enable = mkEnableOption "Plasma Login Manager"; package = mkPackageOption pkgs [ "kdePackages" "plasma-login-manager" ] { }; settings = mkOption { type = iniFmt.type; default = { }; example = { Users.ReuseSession = false; }; description = "Additional settings for Plasma Login Manager (see `man plasmalogin.conf`)"; }; }; config = mkIf cfg.enable { services.displayManager.enable = true; environment.systemPackages = [ cfg.package ]; systemd.packages = [ cfg.package ]; systemd.tmpfiles.packages = [ cfg.package ]; services.dbus.packages = [ cfg.package ]; systemd.services.plasmalogin = { aliases = [ "display-manager.service" ]; path = [ cfg.package ]; wantedBy = [ "graphical.target" ]; restartIfChanged = false; }; systemd.defaultUnit = "graphical.target"; environment.etc."plasmalogin.conf.d/00-nixos-defaults.conf".source = defaultConfigFile; environment.etc."plasmalogin.conf.d/99-user.conf".source = userConfigFile; security.pam.services = { plasmalogin.text = '' auth substack login account include login password substack login session include login ''; plasmalogin-autologin.text = '' auth requisite pam_nologin.so auth required pam_permit.so account include plasmalogin password include plasmalogin session include plasmalogin ''; plasmalogin-greeter.text = '' # Load environment from /etc/environment and ~/.pam_environment auth required pam_env.so conffile=/etc/pam/environment readenv=0 # Always let the greeter start without authentication auth required pam_permit.so # No action required for account management account required pam_permit.so # Can't change password password required pam_deny.so # Setup session session required pam_unix.so session optional ${config.systemd.package}/lib/security/pam_systemd.so ''; }; # FIXME: use upstream sysusers users = { users.plasmalogin = { name = "plasmalogin"; isSystemUser = true; group = "plasmalogin"; description = "Plasma Login Manager greeter user"; home = "/var/lib/plasmalogin"; }; groups.plasmalogin = { }; }; }; } nixos/modules/services/x11/xserver.nix +1 −0 Original line number Diff line number Diff line Loading @@ -823,6 +823,7 @@ in || config.services.greetd.enable || config.services.displayManager.ly.enable || config.services.displayManager.lemurs.enable || config.services.displayManager.plasma-login-manager.enable ); in mkIf default (mkDefault true); Loading Loading
nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix +3 −4 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ # Automatically login as nixos. services.displayManager = { sddm.enable = true; plasma-login-manager.enable = true; autoLogin = { enable = true; user = "nixos"; Loading @@ -19,9 +19,8 @@ }; environment.systemPackages = [ # FIXME: using Qt5 builds of Maliit as upstream has not ported to Qt6 yet pkgs.maliit-framework pkgs.maliit-keyboard # provide onscreen keyboard pkgs.kdePackages.plasma-keyboard ]; environment.plasma6.excludePackages = [ Loading
nixos/modules/module-list.nix +1 −0 Original line number Diff line number Diff line Loading @@ -619,6 +619,7 @@ ./services/display-managers/greetd.nix ./services/display-managers/lemurs.nix ./services/display-managers/ly.nix ./services/display-managers/plasma-login-manager.nix ./services/display-managers/sddm.nix ./services/editors/emacs.nix ./services/editors/haste.nix Loading
nixos/modules/profiles/graphical.nix +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ }; services = { displayManager.sddm.enable = true; displayManager.plasma-login-manager.enable = true; libinput.enable = true; # for touchpad support on many laptops }; Loading
nixos/modules/services/display-managers/plasma-login-manager.nix 0 → 100644 +123 −0 Original line number Diff line number Diff line { config, lib, pkgs, ... }: let inherit (lib) mkIf mkEnableOption mkOption mkPackageOption optionalAttrs ; cfg = config.services.displayManager.plasma-login-manager; xcfg = config.services.xserver; dmcfg = config.services.displayManager; iniFmt = pkgs.formats.ini { }; defaultConfig = optionalAttrs xcfg.enable { X11.ServerPath = xcfg.displayManager.xserverBin; } // optionalAttrs dmcfg.autoLogin.enable { Autologin = { User = dmcfg.autoLogin.user; Session = "${dmcfg.sessionData.autologinSession}.desktop"; }; }; defaultConfigFile = iniFmt.generate "00-nixos-defaults.conf" defaultConfig; userConfigFile = iniFmt.generate "99-user.conf" cfg.settings; in { options.services.displayManager.plasma-login-manager = { enable = mkEnableOption "Plasma Login Manager"; package = mkPackageOption pkgs [ "kdePackages" "plasma-login-manager" ] { }; settings = mkOption { type = iniFmt.type; default = { }; example = { Users.ReuseSession = false; }; description = "Additional settings for Plasma Login Manager (see `man plasmalogin.conf`)"; }; }; config = mkIf cfg.enable { services.displayManager.enable = true; environment.systemPackages = [ cfg.package ]; systemd.packages = [ cfg.package ]; systemd.tmpfiles.packages = [ cfg.package ]; services.dbus.packages = [ cfg.package ]; systemd.services.plasmalogin = { aliases = [ "display-manager.service" ]; path = [ cfg.package ]; wantedBy = [ "graphical.target" ]; restartIfChanged = false; }; systemd.defaultUnit = "graphical.target"; environment.etc."plasmalogin.conf.d/00-nixos-defaults.conf".source = defaultConfigFile; environment.etc."plasmalogin.conf.d/99-user.conf".source = userConfigFile; security.pam.services = { plasmalogin.text = '' auth substack login account include login password substack login session include login ''; plasmalogin-autologin.text = '' auth requisite pam_nologin.so auth required pam_permit.so account include plasmalogin password include plasmalogin session include plasmalogin ''; plasmalogin-greeter.text = '' # Load environment from /etc/environment and ~/.pam_environment auth required pam_env.so conffile=/etc/pam/environment readenv=0 # Always let the greeter start without authentication auth required pam_permit.so # No action required for account management account required pam_permit.so # Can't change password password required pam_deny.so # Setup session session required pam_unix.so session optional ${config.systemd.package}/lib/security/pam_systemd.so ''; }; # FIXME: use upstream sysusers users = { users.plasmalogin = { name = "plasmalogin"; isSystemUser = true; group = "plasmalogin"; description = "Plasma Login Manager greeter user"; home = "/var/lib/plasmalogin"; }; groups.plasmalogin = { }; }; }; }
nixos/modules/services/x11/xserver.nix +1 −0 Original line number Diff line number Diff line Loading @@ -823,6 +823,7 @@ in || config.services.greetd.enable || config.services.displayManager.ly.enable || config.services.displayManager.lemurs.enable || config.services.displayManager.plasma-login-manager.enable ); in mkIf default (mkDefault true); Loading