liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

default.nix (659B)


      1 {
      2   qemuLim,
      3   socat,
      4   writeShellScript,
      5   writeFennel,
      6   runCommand,
      7   fennel,
      8   lib,
      9   lua,
     10   pkgsBuildBuild,
     11 }:
     12 let
     13   writeFennel = pkgsBuildBuild.writeFennel.override { inherit lua; };
     14   run-liminix-vm = writeFennel "run-liminix-vm" {
     15     packages = [
     16       qemuLim
     17       lua.pkgs.luaposix
     18       fennel
     19     ];
     20   } ./run-liminix-vm.fnl;
     21   connect = writeShellScript "connect-vm" ''
     22     export PATH="${lib.makeBinPath [ socat ]}:$PATH"
     23     socat -,raw,echo=0,icanon=0,isig=0,icrnl=0,escape=0x0f unix-connect:$1
     24   '';
     25 in
     26 runCommand "vm" { } ''
     27   mkdir -p $out/bin
     28   cd  $out/bin
     29   ln -s ${connect} ./connect-vm
     30   ln -s ${run-liminix-vm} ./run-liminix-vm
     31 ''