-
Notifications
You must be signed in to change notification settings - Fork 8
/
flake.nix
34 lines (31 loc) · 1.27 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
description = "PureNix";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = inputs:
let
overlay = import nix/overlay.nix;
perSystem = system:
let
pkgs = import inputs.nixpkgs { inherit system; overlays = [ overlay ]; };
in
{
defaultPackage = pkgs.purenix;
packages.purenix = pkgs.purenix;
devShell = pkgs.hacking-on-purenix-shell;
devShells = {
# This shell is for hacking on purenix itself. You get GHC with a
# suitable package database, as well as a bunch of common Haskell
# development tools. You also get purs and spago that can be used for
# testing out purenix.
hacking-on-purenix = pkgs.hacking-on-purenix-shell;
# This is a shell that contains purenix, purs, and spago. It will
# mainly be used by the flake.nix for all our PureScript packages.
# It can also be used by users who just want to play around with
# purenix, but not hack on it.
use-purenix = pkgs.use-purenix-shell;
};
};
in
{ inherit overlay; } // inputs.flake-utils.lib.eachDefaultSystem perSystem;
}