git.iko.soy/typeable/nixpkgs-stackage
on master help sign in
Update docs
f2c3749Dmitry Bushev
README.md+10−29
@@ -1,41 +1,22 @@
1# Nix
1# Nix
2
2
3−Nix infrastructure.
3+Nixpgs overlay
4
4
5−## stackage2nix
5+## Packages
6
6
7−Directory contains ready-to-use `stackage2nix` wrapper with
7+- Stackage LTS releases
8−`--all-cabal-hashes` and `--lts-haskell` flags set up. It also has all
8+- [stackage2nix][]
9−required executables on `PATH`.
10
9
11−Install stackage2nix:
10+## Install
12−
13−```
14−$ nix-env -i -f ./stackage2nix
15−
16−$ stackage2nix
17−Missing: (--resolver ARG | STACK_YAML)
18−```
19
11
20−## stackage
12+Symlink the current `./haskell-overlay.nix` into the `~/.config/nixpkgs/overlays` folder.
21
13
22−Directory contains derivation that creates Stackage LTS from `lts` argument.
14+## Haskell overlay
23
15
24−Build lts-9.0:
16+Install stackage2nix:
25
17
26```
18```
27−$ nix-build --argstr lts lts-9.0 ./stackage
19+$ nix-env -i -f ./stackage2nix
28−
29−$ ls result
30−configuration-packages.nix packages.nix
31```
20```
32
21
33−## haskellPackages
22+[stackage2nix]: https://github.com/typeable/stackage2nix
34−
35−Directory contains Stackage LTS packages generated by `stackage2nix` from this
36−project's `stack.yaml`.
37−
38−## lib.nix
39−
40−Provides Nix expressions for `hackage-db`, `all-cabal-hashes` and `lts-haskell`
41−sources.
stackage/README.mdnew file+12
@@ -0,0 +1,12 @@
1+# Stackage
2+
3+generate:
4+
5+```
6+~/.local/bin/stackage2nix --hackage-db /home/dbushev/.cabal/packages/hackage.haskell.org/01-index.tar --all-cabal-hashes /home/dbushev/projects/commercialhaskell/all-cabal-hashes --lts-haskell /home/dbushev/projects/fpco/lts-haskell --resolver lts-6.30
7+```
8+check:
9+
10+```
11+nix-env -f '<nixpkgs>' -qaP -A pkgs.haskell.packages.stackage.lts-635
12+```
stackage2nix/README.mdnew file+16
@@ -0,0 +1,16 @@
1+# stackage2nix
2+
3+Directory contains ready-to-use `stackage2nix` wrapper with
4+`--all-cabal-hashes` and `--lts-haskell` flags set up. It also has all
5+required executables on `PATH`.
6+
7+## haskell-packages-private
8+
9+Directory contains Stackage LTS packages needed to build `stackage2nix` wrapper.
10+
11+TODO: should be replaced with LTS packages from this repo.
12+
13+## lib.nix
14+
15+Provides Nix expressions for `hackage-db`, `all-cabal-hashes` and `lts-haskell`
16+sources.
stackage2nix/default.nix+2−2
@@ -2,8 +2,8 @@
2
2
3with nixpkgs;
3with nixpkgs;
4let
4let
5− lib = callPackage ../lib.nix {};
5+ lib = callPackage ./lib.nix {};
6− haskellPackages = import ../haskellPackages { inherit nixpkgs; };
6+ haskellPackages = import ./haskell-packages-private { inherit nixpkgs; };
7 stackage2nix = haskell.lib.disableSharedExecutables haskellPackages.stackage2nix;
7 stackage2nix = haskell.lib.disableSharedExecutables haskellPackages.stackage2nix;
8in stdenv.mkDerivation rec {
8in stdenv.mkDerivation rec {
9 name = "stackage2nix-${version}";
9 name = "stackage2nix-${version}";
haskellPackages/configuration-packages.nix → stackage2nix/haskell-packages-private/configuration-packages.nixrenamed

The content is the same.

haskellPackages/default.nix → stackage2nix/haskell-packages-private/default.nixrenamed

The content is the same.

haskellPackages/packages.nix → stackage2nix/haskell-packages-private/packages.nixrenamed

The content is the same.

lib.nix → stackage2nix/lib.nixrenamed

The content is the same.