1
1
mirror of https://github.com/qfpl/applied-fp-course.git synced 2024-11-26 14:43:53 +03:00
applied-fp-course/shell.nix
Sean Chalmers 1ce56dcb0c Pin nixpkgs
Reorder the modules in level04 to make the order more clear.

Add explicit exports to the AppM modules in 5,6, and 7 to help make it clearer
that you don't need to use the explicit constructors.

Update type signatures for config file functions in level 6 to use the newly
generalised AppM to take advantage of the variable error type.
2018-12-14 13:15:08 +10:00

34 lines
885 B
Nix

{ compiler ? "default"
}:
let
inherit (import <nixpkgs> {}) fetchFromGitHub;
nixpkgs = fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs-channels";
rev = "4f3446f29910d21eb0fb942bd03091b089cdad63";
sha256 = "0dqjkhhhckp881mns69qxn4dngcykal1gqrpaf9qy2vja4i41ay5";
};
pkgs = import nixpkgs {};
# Grab our course derivation
course = import ./. { nixpkgs = pkgs; inherit compiler; };
# Override the basic derivation so we can have a more fully feature
# environment for hacking on the course material
courseDevEnv = (pkgs.haskell.lib.addBuildTools course
[ # Include the SQLite Database application
pkgs.sqlite
# 'ghcid' auto reloading tool
pkgs.haskellPackages.ghcid
]
# We don't want nix to build the thing, we want the environment so we can
# build the thing.
).env;
in
# Fly, my pretties!
courseDevEnv