git.iko.soy/typeable/nixpkgs-stackage
on lts-13.21/fix-store help sign in
73 lines 1.5 kB history raw
1# nixpkgs-stackage
3[![Build Status](https://travis-ci.org/typeable/nixpkgs-stackage.svg?branch=master)](https://travis-ci.org/typeable/nixpkgs-stackage)
5Nixpkgs overlay adding Stackage Haskell packages at the `pkgs.haskell.packages.stackage`
7# Install
9Symlink the current `./default.nix` into the `~/.config/nixpkgs/overlays` folder.
11```
12cd ~/.config/nixpkgs/overlays
13ln -s /path/to/default.nix stackage-overlay.nix
14```
16## Contents
18- Stackage LTS releases at `pkgs.haskell.packages.stackage`
19- [stackage2nix][] at `pkgs`
20- build utils at `pkgs.haskell.packages.stackage.lib`
22## Haskell overlay
24List LTS packages:
26```
27nix-env -f '<nixpkgs>' -qaP -A haskell.packages.stackage.lts-100
28```
30Install stackage2nix:
32```
33$ nix-env -i stackage2nix
34```
36## Update script
38Update script will add missing lts releases to `stackage` directory:
40```
41./update.sh
42```
44# Examples
46Build derivation for `stackage2nix` from `stackage2nix.json` source.
48``` nix
49let
50 nixpkgs = import <nixpkgs> {
51 overlays = [ (import ../default.nix) ];
52 };
53 inherit (nixpkgs) pkgs lib;
55 stackage2nixSrc = pkgs.fetchFromGitHub (lib.importJSON ./stackage2nix.json);
57 stackage = nixpkgs.haskell.packages.stackage.lib.callStackage2nix "stackage2nix" stackage2nixSrc {
58 inherit nixpkgs;
59 };
60in
61 stackage
62```
64Build:
66```
67nix-build example.nix -A stackage2nix
68```
70See [examples](./examples) directory for more
73[stackage2nix]: https://github.com/typeable/stackage2nix