default.nix (930B)
1 { 2 s6-linux-init, 3 execline, 4 writeScript, 5 stdenvNoCC, 6 lib, 7 s6-rc, 8 }: 9 let 10 hpr = 11 name: arg: 12 writeScript name '' 13 #!${execline}/bin/execlineb -S0 14 ${s6-linux-init}/bin/s6-linux-init-hpr ${arg} \$@ 15 ''; 16 init = writeScript "init" '' 17 #!${execline}/bin/execlineb -S0 18 ${s6-linux-init}/bin/s6-linux-init -c /etc/s6-linux-init/current -m 0022 -p ${ 19 lib.makeBinPath [ 20 execline 21 s6-linux-init 22 s6-rc 23 ] 24 }:/usr/bin:/bin -d /dev -- "\$@" 25 ''; 26 in 27 stdenvNoCC.mkDerivation { 28 name = "s6-init-bin"; 29 phases = [ "installPhase" ]; 30 installPhase = '' 31 bin=$out/bin 32 mkdir -p $bin 33 cd $bin 34 ln -s ${s6-linux-init}/bin/s6-linux-init-shutdown shutdown 35 ln -s ${s6-linux-init}/bin/s6-linux-init-telinit telinit 36 ln -s ${hpr "reboot" "-r"} reboot 37 ln -s ${hpr "poweroff" "-p"} poweroff 38 ln -s ${hpr "halt" "-h"} halt 39 ln -s ${init} init 40 ''; 41 }