diff --git a/README.md b/README.md index 4abe6a7..d282128 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Here’s some sample Hackett code that demonstrates some of Hackett’s features To reiterate: **Hackett is extremely experimental right now.** Things are not guaranteed to work correctly (or work at all), and things are likely to change dramatically. If you really want to install Hackett to play around with it, though, you can. -You will need to have Racket installed to use Hackett. Using `raco`, you can install Hackett as a package: +You will need to have Racket v6 installed to use Hackett. Using `raco`, you can install Hackett as a package: ``` $ raco pkg install hackett @@ -69,3 +69,11 @@ Now you can use Hackett by writing `#lang hackett` at the top of a file. [hackett-docs]: https://lexi-lambda.github.io/hackett/ [types-as-macros]: http://www.ccs.neu.edu/home/stchang/pubs/ckg-popl2017.pdf + +### Nix + +Since Racket v6 is quite old, `shell.nix` is provided for convenience. Use `nix-shell` to enter shell with Racket v6.12. + +> To install Nix, use either [official](https://nixos.org/download/) or [modernized](https://determinate.systems/posts/determinate-nix-installer/) installer. + +> Note that you don't need this repository cloned to use the `shell.nix`. Only file itself is needed. diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..af43cbc --- /dev/null +++ b/shell.nix @@ -0,0 +1,11 @@ +let + nixpkgs = builtins.fetchTarball { + url = "https://github.com/NixOS/nixpkgs/archive/294c3605a3a57773242d8585ab1815cd61d4a65f.tar.gz"; + }; + pkgs = import nixpkgs {}; +in + pkgs.mkShell { + nativeBuildInputs = [ + pkgs.racket + ]; + }