From 084ce1ee888100b00f6a884dc88c8e960154673e Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 11 Apr 2024 15:05:26 +0300 Subject: [PATCH] Revert "nixos/getty: add option to autologin once per boot" --- .../manual/release-notes/rl-2405.section.md | 3 -- nixos/modules/services/ttys/getty.nix | 32 +++---------------- 2 files changed, 4 insertions(+), 31 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 243c7dc81f59..a8cefa0da604 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -498,9 +498,6 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m existing process, but will need to start that process from gdb (so it is a child). Or you can set `boot.kernel.sysctl."kernel.yama.ptrace_scope"` to 0. -- The new option `services.getty.autologinOnce` was added to limit the automatic login to once per boot and on the first tty only. - When using full disk encryption, this option allows to unlock the system without retyping the passphrase while keeping the other ttys protected. - - The netbird module now allows running multiple tunnels in parallel through [`services.netbird.tunnels`](#opt-services.netbird.tunnels). - [Nginx virtual hosts](#opt-services.nginx.virtualHosts) using `forceSSL` or diff --git a/nixos/modules/services/ttys/getty.nix b/nixos/modules/services/ttys/getty.nix index 3578f4ba8773..22ae9c27e5bc 100644 --- a/nixos/modules/services/ttys/getty.nix +++ b/nixos/modules/services/ttys/getty.nix @@ -7,26 +7,14 @@ let baseArgs = [ "--login-program" "${cfg.loginProgram}" - ] ++ optionals (cfg.autologinUser != null && !cfg.autologinOnce) [ + ] ++ optionals (cfg.autologinUser != null) [ "--autologin" cfg.autologinUser ] ++ optionals (cfg.loginOptions != null) [ "--login-options" cfg.loginOptions ] ++ cfg.extraArgs; gettyCmd = 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"} - ''; + "@${pkgs.util-linux}/sbin/agetty agetty ${escapeShellArgs baseArgs} ${args}"; in @@ -52,16 +40,6 @@ 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"; @@ -128,11 +106,9 @@ in systemd.services."getty@" = { serviceConfig.ExecStart = [ - # override upstream default with an empty ExecStart - "" - (pkgs.writers.writeDash "getty" autologinScript) + "" # override upstream default with an empty ExecStart + (gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM") ]; - environment.TTY = "%I"; restartIfChanged = false; };