Change:
Project description Quoting from : Metadata homepage URL: https://gren- source URL: license: platforms: unix, linux, darwin, ... Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Seems like, other than the top 2 lines, the License text is exactly the same as the BSD-3-Clause License (bsd3) Also:
Yeah, you're right! Just saw the same in now.
By the way, I have managed to package it, but haven't had the time to open a PR. I'll probably do it later today.
Oh, thank you! I just got it running as a flake, but very new to Nix and excited to compare how you did it
I've never packaged a haskell app before this, so this was new for me too. It seems that letting cabal2nix generate a package is the most used way currently.
Note that you could also ask upstream to put gren on Hackage. That way it would get packaged and updated semi-automatically, as part of the haskell updates workflow.

Discussion:
<ins> # This file has been autogenerated with cabal2nix. # Update via ./update.sh { mkDerivation, ansi-terminal, ansi-wl-pprint, base, base64-bytestring, binary, bytestring, containers, directory, edit-distance, fetchgit, filelock, filepath, ghc-prim, haskeline, hspec, hspec-discover, indexed-traversable, lib, mtl, prettyprint-avh4, process, raw-strings-qq, scientific, text, time, utf8-string, vector, }: mkDerivation { pname = "gren"; version = "0.4.5"; src = fetchgit { url = "https://github.com/gren-lang/compiler.git"; sha256 = "0hbxzn14m9y7sqwk347yj7hblwmj5fyzmy7kjqc8zjd63gmrkdh8"; rev = "0efe25e3f48663a36eec525d2df0d957f53c9b4e"; fetchSubmodules = true; }; isLibrary = false; isExecutable = true; executableHaskellDepends = [ ansi-terminal ansi-wl-pprint base base64-bytestring binary bytestring containers directory edit-distance filelock filepath ghc-prim haskeline indexed-traversable mtl prettyprint-avh4 process raw-strings-qq scientific text time utf8-string vector ]; testHaskellDepends = [ ansi-terminal ansi-wl-pprint base base64-bytestring binary bytestring containers directory edit-distance filelock filepath ghc-prim haskeline hspec indexed-traversable mtl prettyprint-avh4 process raw-strings-qq scientific text time utf8-string vector ]; testToolDepends = [ hspec-discover ]; jailbreak = true; homepage = "https://gren-lang.org"; description = "The `gren` command line interface"; license = lib.licenses.bsd3; mainProgram = "gren"; } </ins>

<ins> { lib, haskell, haskellPackages, }: let inherit (haskell.lib.compose) overrideCabal; raw-pkg = (haskellPackages.callPackage ./generated-package.nix { }).overrideScope ( final: prev: { ansi-wl-pprint = final.ansi-wl-pprint_0_6_9; } ); overrides = { maintainers = with lib.maintainers; [ tomasajt ]; passthru.updateScript = ./update.sh; }; in overrideCabal overrides raw-pkg </ins>

<ins> #!/usr/bin/env nix-shell #!nix-shell -i bash -p cabal2nix curl jq nixfmt-rfc-style set -euo pipefail # This is the directory of this update.sh script. script_dir="$(dirname "${BASH_SOURCE[0]}")" derivation_file="${script_dir}/generated-package.nix" latest_version="$(curl --silent 'https://api.github.com/repos/gren-lang/compiler/releases/latest' | jq --raw-output '.tag_name')" echo "Updating gren to version ${latest_version}." echo "Running cabal2nix and outputting to ${derivation_file}..." cat > "${derivation_file}" << EOF # This file has been autogenerated with cabal2nix. # Update via ./update.sh EOF cabal2nix 'https://github.com/gren-lang/compiler.git' --revision "${latest_version}" --jailbreak >> "${derivation_file}" nixfmt "${derivation_file}" echo 'Finished.' </ins>