diff --git a/modules/services/networking/ssh/sshd.nix b/modules/services/networking/ssh/sshd.nix index 88d8e5b0c29..154f5ab17c8 100644 --- a/modules/services/networking/ssh/sshd.nix +++ b/modules/services/networking/ssh/sshd.nix @@ -129,8 +129,6 @@ in ''; exec = "${openssh}/sbin/sshd -D -h /etc/ssh/ssh_host_dsa_key -f ${sshdConfig}"; - - respawn = true; }; }; diff --git a/modules/services/ttys/mingetty.nix b/modules/services/ttys/mingetty.nix index abca6a9784b..cab206ec2fe 100644 --- a/modules/services/ttys/mingetty.nix +++ b/modules/services/ttys/mingetty.nix @@ -1,77 +1,75 @@ {pkgs, config, ...}: -###### interface let - inherit (pkgs.lib) mkOption mkIf; - options = { - services = { - mingetty = { - - ttys = mkOption { - default = [1 2 3 4 5 6]; - description = " - The list of tty (virtual console) devices on which to start a - login prompt. - "; - }; - - waitOnMounts = mkOption { - default = false; - description = " - Whether the login prompts on the virtual consoles will be - started before or after all file systems have been mounted. By - default we don't wait, but if for example your /home is on a - separate partition, you may want to turn this on. - "; - }; - - greetingLine = mkOption { - default = ''<<< Welcome to NixOS (\m) - Kernel \r (\l) >>>''; - description = " - Welcome line printed by mingetty. - "; - }; - - helpLine = mkOption { - default = ""; - description = " - Help line printed by mingetty below the welcome line. - Used by the installation CD to give some hints on - how to proceed. - "; - }; - - }; - }; - }; -in - -###### implementation - -let - ttyNumbers = config.services.mingetty.ttys; - loginProgram = "${pkgs.pam_login}/bin/login"; - inherit (pkgs) mingetty; - + inherit (pkgs.lib) mkOption mkIf singleton; + in { - require = [ - options - ]; - services.extraJobs = map (ttyNumber : { - name = "tty" + toString ttyNumber; - job = '' - start on udev - stop on shutdown - respawn ${mingetty}/sbin/mingetty --loginprog=${loginProgram} --noclear tty${toString ttyNumber} - ''; - }) ttyNumbers; + ###### interface - environment.etc = - [ { # Friendly greeting on the virtual consoles. + options = { + + services.mingetty = { + + ttys = mkOption { + default = [1 2 3 4 5 6]; + description = '' + The list of tty (virtual console) devices on which to start a + login prompt. + ''; + }; + + waitOnMounts = mkOption { + default = false; + description = '' + Whether the login prompts on the virtual consoles will be + started before or after all file systems have been mounted. By + default we don't wait, but if for example your /home is on a + separate partition, you may want to turn this on. + ''; + }; + + greetingLine = mkOption { + default = ''<<< Welcome to NixOS (\m) - Kernel \r (\l) >>>''; + description = '' + Welcome line printed by mingetty. + ''; + }; + + helpLine = mkOption { + default = ""; + description = '' + Help line printed by mingetty below the welcome line. + Used by the installation CD to give some hints on + how to proceed. + ''; + }; + + }; + + }; + + + ###### implementation + + config = { + + # Generate a separate job for each tty. + jobs = map (ttyNumber: { + + name = "tty${toString ttyNumber}"; + + startOn = "udev"; + + exec = "${pkgs.mingetty}/sbin/mingetty --loginprog=${pkgs.pam_login}/bin/login --noclear tty${toString ttyNumber}"; + + }) config.services.mingetty.ttys; + + environment.etc = singleton + { # Friendly greeting on the virtual consoles. source = pkgs.writeText "issue" '' ${config.services.mingetty.greetingLine} @@ -79,6 +77,7 @@ in ''; target = "issue"; - } - ]; + }; + }; + } diff --git a/modules/system/upstart/upstart.nix b/modules/system/upstart/upstart.nix index 7dd6896c25a..1461320c001 100644 --- a/modules/system/upstart/upstart.nix +++ b/modules/system/upstart/upstart.nix @@ -144,7 +144,7 @@ in stopOn = mkOption { type = types.string; - default = ""; + default = "shutdown"; description = '' The Upstart event that triggers this job to be stopped. '';