{ lib, nimPackages, fetchFromSourcehut }: with nimPackages; let bigints = fetchNimble { pname = "bigints"; version = "0.5.0"; hash = "sha256-zMTXXC0lYVzXaKl8eC/SA/CymRgovgzxBdvEn1VE9p0="; }; compiler = fetchNimble { pname = "compiler"; version = "1.4.8"; hash = "sha256-OaSe9Bn/+rjVk4pJKjjwI9rpnDm/T7lRmKeh/DOPn38="; }; npeg = fetchNimble { pname = "npeg"; version = "0.24.1"; hash = "sha256-AKYDrR38345CQxV7kLvglGmkc/m8EX6TGtaFckJL3Dc="; }; in buildNimPackage rec { outputs = [ "out" "dev" ]; pname = "preserves"; version = "1.1.0"; src = fetchFromSourcehut { owner = "~ehmry"; repo = "preserves-nim"; rev = "2dd63903f05b963aaefcc7a12bb11b078ae7eed5"; sha256 = "sha256-qBoAAZ2ixpqX9UWEAh/Bs0cYo+u3CW8dIk5Kfr9+HMc="; }; buildInputs = [ compiler bigints 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; }