rewrite run-liminix-vm as a fennel program
the effect of shell quoting/word splitting rules was reaching completely unreasonable, insofar as I was unable to reason about it
This commit is contained in:
@@ -1,19 +1,23 @@
|
||||
{
|
||||
qemu
|
||||
, socat
|
||||
, writeShellScriptBin
|
||||
, symlinkJoin
|
||||
, writeShellScript
|
||||
, writeFennel
|
||||
, runCommand
|
||||
, lib
|
||||
, lua
|
||||
, pkgsBuildBuild
|
||||
}: let
|
||||
run-liminix-vm = writeShellScriptBin "run-liminix-vm" ''
|
||||
export PATH="${lib.makeBinPath [qemu]}:$PATH"
|
||||
${builtins.readFile ./run-liminix-vm.sh}
|
||||
'';
|
||||
connect = writeShellScriptBin "connect-vm" ''
|
||||
run-liminix-vm = pkgsBuildBuild.writeFennel "run-liminix-vm" {
|
||||
packages = [ qemu lua.pkgs.luaposix lua.pkgs.fennel ];
|
||||
} ./run-liminix-vm.fnl;
|
||||
connect = writeShellScript "connect-vm" ''
|
||||
export PATH="${lib.makeBinPath [socat]}:$PATH"
|
||||
socat -,raw,echo=0,icanon=0,isig=0,icrnl=0,escape=0x0f unix-connect:$1
|
||||
'';
|
||||
in symlinkJoin {
|
||||
name = "run-liminix-vm";
|
||||
paths = [ run-liminix-vm connect ];
|
||||
}
|
||||
in runCommand "vm" {} ''
|
||||
mkdir -p $out/bin
|
||||
cd $out/bin
|
||||
ln -s ${connect} ./connect-vm
|
||||
ln -s ${run-liminix-vm} ./run-liminix-vm
|
||||
''
|
||||
|
Reference in New Issue
Block a user