diff --git a/README.md b/README.md index 9dfdee2..9b2d384 100644 --- a/README.md +++ b/README.md @@ -18,18 +18,17 @@ for interacting with store paths, until `hnix-store` is ready. ## Getting Started ``` -$ git clone --recursive https://github.com/haskell-nix/hnix.git -... -$ cd hnix -$ nix-shell -$ cabal v2-configure --enable-tests -$ cabal v2-build -$ cabal v2-test +git clone --recursive https://github.com/haskell-nix/hnix.git +cd hnix +nix-shell +cabal v2-configure --enable-tests +cabal v2-build +cabal v2-test # To run all of the tests, which takes up to a minute: -$ env ALL_TESTS=yes cabal v2-test +env ALL_TESTS=yes cabal v2-test # To run only specific tests (see `tests/Main.hs` for a list) -$ env NIXPKGS_TESTS=yes PRETTY_TESTS=1 cabal v2-test -$ ./dist/build/hnix/hnix --help +env NIXPKGS_TESTS=yes PRETTY_TESTS=1 cabal v2-test +./dist/build/hnix/hnix --help ``` ## Using the REPL @@ -55,10 +54,10 @@ To build `hnix` for debugging, and with full tracing output and stack traces, use: ``` -$ nix-shell -$ cabal v2-configure --enable-tests --enable-profiling --flags=profiling --flags=tracing -$ cabal v2-build -$ ./dist/build/hnix/hnix -v5 --trace +RTS -xc +nix-shell +cabal v2-configure --enable-tests --enable-profiling --flags=profiling --flags=tracing +cabal v2-build +./dist/build/hnix/hnix -v5 --trace +RTS -xc ``` Note that this will run quite slowly, but will give the most information as to @@ -69,10 +68,10 @@ what might potentially be going wrong during parsing or evaluation. To build `hnix` with benchmarks enabled: ``` -$ nix-shell --arg doBenchmarks true -$ cabal v2-configure --enable-tests --enable-benchmarks -$ cabal v2-build -$ cabal v2-bench +nix-shell +cabal v2-configure --enable-tests --enable-benchmarks +cabal v2-build +cabal v2-bench ``` ## Building with profiling enabled @@ -80,10 +79,10 @@ $ cabal v2-bench To build `hnix` with profiling enabled: ``` -$ nix-shell -$ cabal v2-configure --enable-tests --enable-profiling --flags=profiling -$ cabal v2-build -$ ./dist/build/hnix/hnix +RTS -p +nix-shell +cabal v2-configure --enable-tests --enable-profiling --flags=profiling +cabal v2-build +./dist/build/hnix/hnix +RTS -p ``` ## Building with GHCJS @@ -91,7 +90,7 @@ $ ./dist/build/hnix/hnix +RTS -p From the project root directory, run: ``` -$ NIX_CONF_DIR=$PWD/ghcjs nix-build ghcjs +NIX_CONF_DIR=$PWD/ghcjs nix-build ghcjs ``` This will build an `hnix` library that can be linked to your GHCJS @@ -103,8 +102,8 @@ If you're on macOS, you can use the binary cache at Cachix to avoid building the specific dependencies used by hnix. Just use these commands: ``` -$ nix-env -iA cachix -f https://github.com/NixOS/nixpkgs/tarball/db557aab7b690f5e0e3348459f2e4dc8fd0d9298 -$ cachix use hnix +nix-env -iA cachix -f https://github.com/NixOS/nixpkgs/tarball/db557aab7b690f5e0e3348459f2e4dc8fd0d9298 +cachix use hnix ``` ## How you can help @@ -121,8 +120,8 @@ same. You can talk with everyone live on When you're ready to submit a pull request, test it with: ``` -$ git submodule update --init --recursive -$ nix-shell --run "LANGUAGE_TESTS=yes cabal v2-test" +git submodule update --init --recursive +nix-shell --run "LANGUAGE_TESTS=yes cabal v2-test" ``` Make sure that all the tests that were passing prior to your PR are still @@ -135,5 +134,5 @@ run this yourself, first build hnix with `nix-build`, then run the following command: ``` -$ ./result/bin/hnix --eval -E "import {}" --find +./result/bin/hnix --eval -E "import {}" --find ```