Unverified Commit 681d4a87 authored by K900's avatar K900 Committed by GitHub
Browse files

Merge pull request #303340 from NixOS/revert-286310-pr-getty-autologin

Revert "nixos/getty: add option to autologin once per boot"
parents 68b3627a 084ce1ee
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -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
+4 −28
Original line number Diff line number Diff line
@@ -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;
      };