mirror of
https://github.com/qfpl/applied-fp-course.git
synced 2024-11-26 14:43:53 +03:00
1ce56dcb0c
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.
34 lines
885 B
Nix
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
|