{ pkgs, localLispPackages, ... }: with pkgs.lib; let launcher = pkgs.writeText "launch-backplane-dns.lisp" '' (require :asdf) (asdf:load-system :backplane-dns) (backplane-dns:start-listener-with-env) (loop (sleep 600)) ''; launcherScript = pkgs.writeShellScriptBin "launch-backplane-dns.sh" '' ${pkgs.lispPackages.clwrapper}/bin/common-lisp.sh --load ${launcher} ''; in pkgs.stdenv.mkDerivation { pname = "backplane-dns-server"; version = "0.1.0"; propagatedBuildInputs = with pkgs; [ asdf sbcl lispPackages.clwrapper localLispPackages.backplane-dns ]; phases = [ "installPhase" ]; installPhase = '' mkdir -p "$out/bin" cp ${launcherScript}/bin/launch-backplane-dns.sh "$out/bin" ''; }