From a202ae476a7e681aa70f5db70c6142229e488603 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Tue, 21 Nov 2023 23:27:20 +0000 Subject: [PATCH] extract console redirection stuff from "quit" function so we can use it for scripts that don't reboot at their end --- modules/s6/default.nix | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/modules/s6/default.nix b/modules/s6/default.nix index 5d78064c..f78d8b43 100644 --- a/modules/s6/default.nix +++ b/modules/s6/default.nix @@ -94,17 +94,20 @@ let }; ".s6-svscan" = let + openConsole = '' + #!${execline}/bin/execlineb -P + ${execline}/bin/redirfd -w 2 /dev/console + ${execline}/bin/fdmove -c 1 2 + ''; quit = message: '' - #!${execline}/bin/execlineb -P - ${execline}/bin/redirfd -w 2 /dev/console - ${execline}/bin/fdmove -c 1 2 - ${execline}/bin/foreground { ${s6-linux-init}/bin/s6-linux-init-echo -- ${message} } - ${s6-linux-init}/bin/s6-linux-init-hpr -fr - ''; + ${openConsole} + ${execline}/bin/foreground { ${s6-linux-init}/bin/s6-linux-init-echo -- ${message} } + ${s6-linux-init}/bin/s6-linux-init-hpr -fr + ''; shutdown = action: '' - #!${execline}/bin/execlineb -P - ${s6-linux-init}/bin/s6-linux-init-shutdown -a #{action} -- now - ''; + #!${execline}/bin/execlineb -P + ${s6-linux-init}/bin/s6-linux-init-shutdown -a #{action} -- now + ''; empty = "#!${execline}/bin/execlineb -P\n"; in dir { crash = {