on iko/ghcjs-patch-master help sign in
docs: Add instructions for installing nix-tools (#87)

* docs: Fix some sentences in the introduction * docs: Add instructions for installing nix-tools Resolves #85 * docs: Add IRC channel to readme Because our documentation isn't perfect yet, users are likely to have questions.

commite68e3178d2b5b9518142b0ec9a375710fd146737 authorRodney Lorrimar <dev@rodney.id.au> dateWed 13 Mar 2019, 17:44 (8 years ago) parent8ffa7cd
3 files changed+30−9
README.org+8−1 docs/index.md+8−8 docs/user-guide.md+14
README.org+8−1
@@ -1,3 +1,5 @@
1+#+STARTUP: showall hidestars
2+
13* Alternative Haskell Infrastructure for Nixpkgs
24
35[[https://travis-ci.org/input-output-hk/haskell.nix][https://travis-ci.org/input-output-hk/haskell.nix.svg?branch=master]]
@@ -8,7 +10,7 @@ It works by automatically translating your Cabal or Stack project and
810its dependencies into Nix code. Most of your dependencies are already
911translated, so you generally won't have too much generated code.
1012
11−For the full documentation, see https://input-output-hk.github.io/haskell.nix/.
13+For the documentation, see https://input-output-hk.github.io/haskell.nix/.
1214
1315** Quickstart
1416
@@ -32,3 +34,8 @@ Haskell packages in Nix. It depends on other repos, which are:
3234
3335- [[https://github.com/input-output-hk/stackage.nix][stackage.nix]] — all of the [[https://www.stackage.org/][Stackage]] snapshots, converted to Nix
3436 expressions.
37+
38+** IRC Channel
39+
40+Join the [[https://www.irccloud.com/invite?channel=%23nix-tools&hostname=irc.freenode.net&port=6697&ssl=1][#nix-tools]] channel on irc.freenode.net to get help or discuss
41+the development of =haskell.nix= and =nix-tools=.
docs/index.md+8−8
@@ -50,9 +50,9 @@ tricky to do. This also leads to the cyclic dependencies issue.
5050
5151### cyclic dependencies
5252
53−Because the Haskell builder in `nixpkgs` exposes packages at the
54−package level, if packages mutually depend on each other through tests
55−and libraries, lead to cyclic dependencies that nix can't resolve. By
53+The Haskell builder in `nixpkgs` exposes packages at the
54+package level. If packages mutually depend on each other through tests
55+and libraries, this leads to cyclic dependencies that nix can't resolve. By
5656exposing the components to nix as separate derivations this will only
5757occur if you have mutually dependent components.
5858
@@ -73,17 +73,17 @@ the optimum.
7373
7474### more logic in nix
7575
76−The `cabal2nix` tool has a resolver that resolved system dependencies
77−and licenses to values in `nixpkgs`. This logic end up being a simple
78−dictionary lookup and can be a simple nix expression. This also
76+The `cabal2nix` tool has a resolver that resolves system dependencies
77+and licenses to values in `nixpkgs`. This logic ends up being a simple
78+dictionary lookup and therefore can be a simple nix expression. This also
7979offloads some of the work the cabal to nix translation tool needs to
8080do into nix, and as such if changes are necessary (or needed to be
8181performed ad hoc) there is no need to rebuild the conversion tool and
8282subsequently mark every derived expression as out of date.
8383
84−### decoupleing
84+### decoupling
8585
86−Finally by treating Haskell.nix and nixpkgs as separate entities we
86+Finally, by treating Haskell.nix and nixpkgs as separate entities we
8787can decouple the Haskell packages and infrastructure from the nixpkgs
8888package set, and rely on it to provide us with system packages while
8989staying up to date with Haskell packages from hackage while retaining
docs/user-guide.md+14
@@ -6,6 +6,20 @@ produce a `pkgs.nix` expressions. Getting a copy of the haskell.nix,
66hackage.nix (and potentially stackage.nix) source will then equip us
77to produce derivations that we can `nix build`.
88
9+## Installing `nix-tools`
10+
11+To build the latest `nix-tools` and store the result at `./nt`, run:
12+
13+```bash
14+nix build -f https://github.com/input-output-hk/haskell.nix/archive/master.tar.gz nix-tools --out-link nt
15+```
16+
17+If you would like to then install `nix-tools` into your profile, run:
18+
19+```bash
20+nix-env -i ./nt
21+```
22+
923## Setup
1024
1125The general structure will be the same for haskell.nix, independent of