summary refs log tree commit diff
path: root/nixos/modules/services/ttys
diff options
context:
space:
mode:
authorDominik Xaver Hörl <hoe.dom@gmx.de>2018-09-29 20:56:34 +0200
committerDominik Xaver Hörl <hoe.dom@gmx.de>2018-09-29 21:55:14 +0200
commit73de0734057b2b0b5203a92e941e6f13fdf1b488 (patch)
tree6fcf2ba37a03a4b5a99c543d0eb8da7a8ed0f7fe /nixos/modules/services/ttys
parenta3ba62db23554247eb13b86ba87b3fe93bf136d3 (diff)
downloadnixlib-73de0734057b2b0b5203a92e941e6f13fdf1b488.tar
nixlib-73de0734057b2b0b5203a92e941e6f13fdf1b488.tar.gz
nixlib-73de0734057b2b0b5203a92e941e6f13fdf1b488.tar.bz2
nixlib-73de0734057b2b0b5203a92e941e6f13fdf1b488.tar.lz
nixlib-73de0734057b2b0b5203a92e941e6f13fdf1b488.tar.xz
nixlib-73de0734057b2b0b5203a92e941e6f13fdf1b488.tar.zst
nixlib-73de0734057b2b0b5203a92e941e6f13fdf1b488.zip
nixos/kmscon: Add autologin option
Diffstat (limited to 'nixos/modules/services/ttys')
-rw-r--r--nixos/modules/services/ttys/kmscon.nix13
1 files changed, 12 insertions, 1 deletions
diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix
index 59c45fcb44ee..82b6a51028e3 100644
--- a/nixos/modules/services/ttys/kmscon.nix
+++ b/nixos/modules/services/ttys/kmscon.nix
@@ -4,6 +4,8 @@ let
 
   cfg = config.services.kmscon;
 
+  autologinArg = lib.optionalString (cfg.autologinUser != null) "-f ${cfg.autologinUser}";
+
   configDir = pkgs.writeTextFile { name = "kmscon-config"; destination = "/kmscon.conf"; text = cfg.extraConfig; };
 in {
   options = {
@@ -39,6 +41,15 @@ in {
         default = "";
         example = "--term xterm-256color";
       };
+
+      autologinUser = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Username of the account that will be automatically logged in at the console.
+          If unspecified, a login prompt is shown as usual.
+        '';
+      };
     };
   };
 
@@ -61,7 +72,7 @@ in {
 
       [Service]
       ExecStart=
-      ExecStart=${pkgs.kmscon}/bin/kmscon "--vt=%I" ${cfg.extraOptions} --seats=seat0 --no-switchvt --configdir ${configDir} --login -- ${pkgs.shadow}/bin/login -p
+      ExecStart=${pkgs.kmscon}/bin/kmscon "--vt=%I" ${cfg.extraOptions} --seats=seat0 --no-switchvt --configdir ${configDir} --login -- ${pkgs.shadow}/bin/login -p ${autologinArg}
       UtmpIdentifier=%I
       TTYPath=/dev/%I
       TTYReset=yes