Loading nixos/modules/services/ttys/getty.nix +28 −4 Original line number Diff line number Diff line Loading @@ -7,14 +7,26 @@ let baseArgs = [ "--login-program" "${cfg.loginProgram}" ] ++ optionals (cfg.autologinUser != null) [ ] ++ optionals (cfg.autologinUser != null && !cfg.autologinOnce) [ "--autologin" cfg.autologinUser ] ++ optionals (cfg.loginOptions != null) [ "--login-options" cfg.loginOptions ] ++ cfg.extraArgs; gettyCmd = args: "@${pkgs.util-linux}/sbin/agetty agetty ${escapeShellArgs baseArgs} ${args}"; "${pkgs.util-linux}/sbin/agetty ${escapeShellArgs baseArgs} ${args}"; autologinScript = '' otherArgs="--noclear --keep-baud $TTY 115200,38400,9600 $TERM"; ${lib.optionalString cfg.autologinOnce '' autologged="/run/agetty.autologged" if test "$TTY" = tty1 && ! test -f "$autologged"; then touch "$autologged" exec ${gettyCmd "$otherArgs --autologin ${cfg.autologinUser}"} fi ''} exec ${gettyCmd "$otherArgs"} ''; in Loading @@ -40,6 +52,16 @@ in ''; }; autologinOnce = mkOption { type = types.bool; default = false; description = '' If enabled the automatic login will only happen in the first tty once per boot. This can be useful to avoid retyping the account password on systems with full disk encrypted. ''; }; loginProgram = mkOption { type = types.path; default = "${pkgs.shadow}/bin/login"; Loading Loading @@ -106,9 +128,11 @@ in systemd.services."getty@" = { serviceConfig.ExecStart = [ "" # override upstream default with an empty ExecStart (gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM") # override upstream default with an empty ExecStart "" (pkgs.writers.writeDash "getty" autologinScript) ]; environment.TTY = "%I"; restartIfChanged = false; }; Loading Loading
nixos/modules/services/ttys/getty.nix +28 −4 Original line number Diff line number Diff line Loading @@ -7,14 +7,26 @@ let baseArgs = [ "--login-program" "${cfg.loginProgram}" ] ++ optionals (cfg.autologinUser != null) [ ] ++ optionals (cfg.autologinUser != null && !cfg.autologinOnce) [ "--autologin" cfg.autologinUser ] ++ optionals (cfg.loginOptions != null) [ "--login-options" cfg.loginOptions ] ++ cfg.extraArgs; gettyCmd = args: "@${pkgs.util-linux}/sbin/agetty agetty ${escapeShellArgs baseArgs} ${args}"; "${pkgs.util-linux}/sbin/agetty ${escapeShellArgs baseArgs} ${args}"; autologinScript = '' otherArgs="--noclear --keep-baud $TTY 115200,38400,9600 $TERM"; ${lib.optionalString cfg.autologinOnce '' autologged="/run/agetty.autologged" if test "$TTY" = tty1 && ! test -f "$autologged"; then touch "$autologged" exec ${gettyCmd "$otherArgs --autologin ${cfg.autologinUser}"} fi ''} exec ${gettyCmd "$otherArgs"} ''; in Loading @@ -40,6 +52,16 @@ in ''; }; autologinOnce = mkOption { type = types.bool; default = false; description = '' If enabled the automatic login will only happen in the first tty once per boot. This can be useful to avoid retyping the account password on systems with full disk encrypted. ''; }; loginProgram = mkOption { type = types.path; default = "${pkgs.shadow}/bin/login"; Loading Loading @@ -106,9 +128,11 @@ in systemd.services."getty@" = { serviceConfig.ExecStart = [ "" # override upstream default with an empty ExecStart (gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM") # override upstream default with an empty ExecStart "" (pkgs.writers.writeDash "getty" autologinScript) ]; environment.TTY = "%I"; restartIfChanged = false; }; Loading