on iko/ghcjs-patch-master help sign in
docs: Add instructions for installing nix-tools (#87)
e68e317Rodney Lorrimar
@@ -1,3 +1,5 @@
1+#+STARTUP: showall hidestars
2+
1* Alternative Haskell Infrastructure for Nixpkgs
3* Alternative Haskell Infrastructure for Nixpkgs
2
4
3[[https://travis-ci.org/input-output-hk/haskell.nix][https://travis-ci.org/input-output-hk/haskell.nix.svg?branch=master]]
5[[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
8its dependencies into Nix code. Most of your dependencies are already
10its dependencies into Nix code. Most of your dependencies are already
9translated, so you generally won't have too much generated code.
11translated, so you generally won't have too much generated code.
10
12
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/.
12
14
13** Quickstart
15** Quickstart
14
16
@@ -32,3 +34,8 @@ Haskell packages in Nix. It depends on other repos, which are:
32
34
33- [[https://github.com/input-output-hk/stackage.nix][stackage.nix]] — all of the [[https://www.stackage.org/][Stackage]] snapshots, converted to Nix
35- [[https://github.com/input-output-hk/stackage.nix][stackage.nix]] — all of the [[https://www.stackage.org/][Stackage]] snapshots, converted to Nix
34 expressions.
36 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.
50
50
51### cyclic dependencies
51### cyclic dependencies
52
52
53−Because the Haskell builder in `nixpkgs` exposes packages at the
53+The Haskell builder in `nixpkgs` exposes packages at the
54−package level, if packages mutually depend on each other through tests
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
55+and libraries, this leads to cyclic dependencies that nix can't resolve. By
56exposing the components to nix as separate derivations this will only
56exposing the components to nix as separate derivations this will only
57occur if you have mutually dependent components.
57occur if you have mutually dependent components.
58
58
@@ -73,17 +73,17 @@ the optimum.
73
73
74### more logic in nix
74### more logic in nix
75
75
76−The `cabal2nix` tool has a resolver that resolved system dependencies
76+The `cabal2nix` tool has a resolver that resolves system dependencies
77−and licenses to values in `nixpkgs`. This logic end up being a simple
77+and licenses to values in `nixpkgs`. This logic ends up being a simple
78−dictionary lookup and can be a simple nix expression. This also
78+dictionary lookup and therefore can be a simple nix expression. This also
79offloads some of the work the cabal to nix translation tool needs to
79offloads some of the work the cabal to nix translation tool needs to
80do into nix, and as such if changes are necessary (or needed to be
80do into nix, and as such if changes are necessary (or needed to be
81performed ad hoc) there is no need to rebuild the conversion tool and
81performed ad hoc) there is no need to rebuild the conversion tool and
82subsequently mark every derived expression as out of date.
82subsequently mark every derived expression as out of date.
83
83
84−### decoupleing
84+### decoupling
85
85
86−Finally by treating Haskell.nix and nixpkgs as separate entities we
86+Finally, by treating Haskell.nix and nixpkgs as separate entities we
87can decouple the Haskell packages and infrastructure from the nixpkgs
87can decouple the Haskell packages and infrastructure from the nixpkgs
88package set, and rely on it to provide us with system packages while
88package set, and rely on it to provide us with system packages while
89staying up to date with Haskell packages from hackage while retaining
89staying 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,
6hackage.nix (and potentially stackage.nix) source will then equip us
6hackage.nix (and potentially stackage.nix) source will then equip us
7to produce derivations that we can `nix build`.
7to produce derivations that we can `nix build`.
8
8
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+
9## Setup
23## Setup
10
24
11The general structure will be the same for haskell.nix, independent of
25The general structure will be the same for haskell.nix, independent of