binarin / nixpkgs-stackage

Stackage overlay for Nixpkgs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nixpkgs-stackage

Build Status

Nixpkgs overlay adding Stackage Haskell packages at the pkgs.haskell.packages.stackage

Contents

  • Stackage LTS releases at pkgs.haskell.packages.stackage
  • stackage2nix at pkgs
  • build utils at pkgs.haskell.packages.stackage.lib

Install

Symlink the current ./default.nix into the ~/.config/nixpkgs/overlays folder.

cd ~/.config/nixpkgs/overlays
ln -s /path/to/default.nix stackage-overlay.nix

Haskell overlay

List LTS packages:

nix-env -f '<nixpkgs>' -qaP -A haskell.packages.stackage.lts-100

Install stackage2nix:

$ nix-env -i stackage2nix

Update script

Update script will add missing lts releases to stackage directory:

./update.sh

Examples

Build derivation for stackage2nix from stackage2nix.json source.

let
  nixpkgs = import <nixpkgs> {
    overlays = [ (import ../default.nix) ];
  };
  inherit (nixpkgs) pkgs lib;

  stackage2nixSrc = pkgs.fetchFromGitHub (lib.importJSON ./stackage2nix.json);

  stackage = nixpkgs.haskell.packages.stackage.lib.callStackage2nix "stackage2nix" stackage2nixSrc {
    inherit nixpkgs;
  };
in
  stackage

Build:

nix-build example.nix -A stackage2nix

See examples directory for more

About

Stackage overlay for Nixpkgs


Languages

Language:Nix 100.0%Language:Shell 0.0%