diff --git a/users/sterni/acme/plan9port/default.nix b/users/sterni/acme/plan9port/default.nix index 94002f35d..e13b19716 100644 --- a/users/sterni/acme/plan9port/default.nix +++ b/users/sterni/acme/plan9port/default.nix @@ -18,6 +18,9 @@ pkgs.plan9port.overrideAttrs (old: { patches = old.patches or [ ] ++ patchesFromDir ./.; postPatch = old.postPatch or "" + '' ${mkbqnkeyboard'} lib/keyboard + + cp --reflink=auto ${./../plumb}/* plumb/ + mv plumb/sterni.plumbing plumb/initial.plumbing ''; nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ @@ -31,4 +34,16 @@ pkgs.plan9port.overrideAttrs (old: { --set PLAN9 "$out/plan9" done ''; + + doInstallCheck = true; + installCheckPhase = old.installCheckPhase or "" + '' + export NAMESPACE="$(mktemp -d)" + "$out/bin/9" plumber -f & + pid="$!" + until [[ -e "$NAMESPACE/plumb" ]]; do + sleep 0.1 + done + "$out/bin/9" 9p write plumb/rules < ${./../plumb}/sterni.plumbing + kill "$pid" + ''; }) diff --git a/users/sterni/acme/plumb/.skip-tree b/users/sterni/acme/plumb/.skip-tree new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/users/sterni/acme/plumb/.skip-tree @@ -0,0 +1 @@ + diff --git a/users/sterni/acme/plumb/default.nix b/users/sterni/acme/plumb/default.nix deleted file mode 100644 index 0477e48e9..000000000 --- a/users/sterni/acme/plumb/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ pkgs, lib, ... }: - -pkgs.stdenvNoCC.mkDerivation { - name = "sterni-plumb"; - - src = builtins.path { - path = ./.; - filter = path: _: !(lib.hasSuffix "default.nix" path); - }; - - dontConfigure = true; - dontBuild = true; - - # The write will fail if there's something wrong with the rules, - # though it only detects some problems. - checkPhase = '' - runHook preInstall - export NAMESPACE="$(mktemp -d)" - 9 plumber -f & - pid="$!" - until [[ -e "$NAMESPACE/plumb" ]]; do - sleep 0.1 - done - 9 9p write plumb/rules < sterni.plumbing - kill "$pid" - runHook postInstall - ''; - doCheck = true; - checkInputs = [ - pkgs.plan9port - ]; - - installPhase = '' - runHook preInstall - mkdir -p "$out" - mv * "$out/" - runHook postInstall - ''; -}