{ lib, nimPackages, fetchFromGitea, fetchFromGitHub }: with nimPackages; let compiler = fetchFromGitHub { owner = "nim-lang"; repo = "nim"; rev = "v1.6.0"; hash = "sha256-C9oveXIufv0HqMQw6eNmLbku4Sd7r28PKcRILvKYzn0="; }; npeg = fetchFromGitHub { owner = "zevv"; repo = "npeg"; rev = "0.25.0"; hash = "sha256-E/0hCz0XsoAb/bAksqrKTyi8/FwBdP8kT6uUUAdru68="; }; in buildNimPackage rec { outputs = [ "out" "dev" ]; pname = "preserves"; version = "3.0.0"; src = fetchFromGitea { domain = "git.syndicate-lang.org"; owner = "ehmry"; repo = "preserves-nim"; rev = "v${version}"; sha256 = "sha256-YcWJkDJIo1UcXyqQTv82ebDeT03f5LqnuIKVtkvBClA="; }; buildInputs = [ compiler npeg ]; postInstall = '' pushd $out/bin for link in preserves_decode preserves_from_json preserves_to_json; do ln -s preserves_encode $link done popd ''; doCheck = true; }