{ interface = { lib, buildNpmPackage, fetchgit, bash, config ? null, ...}: buildNpmPackage { pname = "radicle-interface"; version = "git"; src = fetchgit { url = "https://seed.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git"; rev = "288f55da7667d0678d4c1abc248da2cff54891e4"; hash = "sha256-bdXsK01mLrz4g8rVlMQfZDB+p7ldMIsTJP7jfGeobkM="; }; patches = [ ./patches/radicle-remove-curl-script.patch ]; postPatch = '' patchShebangs scripts/* ${if config == null then "" else '' rm -f src/config.json echo ${lib.escapeShellArg (builtins.toJSON config)} > src/config.json ''} ''; makeCacheWritable = true; installPhase = '' mkdir -p $out cp -r build/* $out ''; buildInputs = [ bash ]; npmDepsHash = "sha256-jqkkqLGojMfk75Chm/CG46ZE+VBAkXTGntwyj3l06jw="; }; heartwood = { buildRustPackage, fetchgit }: buildRustPackage rec{ pname = "heartwood"; version = "git"; src = fetchgit { url = "https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git"; rev = "499738de711ee96343163550f2e053bdba248c1a"; hash = "sha256-CnpiNynCtGEBpqcUCnTBR6T900bICyDTIp32T6RNQdo="; }; cargoLock.lockFile = "${src}/Cargo.lock"; cargoBuildFlags = [ "--all" ]; # tests seem to be a little nondeterministic, and sometimes hang doCheck = false; }; tui = { lib, buildRustPackage, fetchgit }: buildRustPackage rec { pname = "radicle-tui"; version = "git"; src = fetchgit { url = "https://seed.radicle.xyz/z39mP9rQAaGmERfUMPULfPUi473tY.git"; rev = "96967897b0a436d3298d0d21562081fe3bb3052b"; hash = "sha256-jLhL2dl7aywFHG8naTjb250znJJYW2i6YdEqKaRJZzs="; }; cargoLock = { lockFile = "${src}/Cargo.lock"; outputHashes = { "tui-realm-textarea-1.1.2" = "sha256-7dKyEUm4g+Hub2ouIBBSOnY9MDJcvD22At0Zi5CdmmY="; "tui-textarea-0.2.0" = "sha256-aeQJh1SG6ICaqZIsQZo101ANNSkSw8NdtHuNHZXnEPA="; }; }; }; }