default.nix 1.08 KB
Newer Older
Valentin Reis's avatar
Valentin Reis committed
1 2 3 4 5 6 7 8 9 10 11 12
{
  argopkgs-src ? (builtins.fetchGit https://xgitlab.cels.anl.gov/argo/argopkgs.git) ,
  nrm-src ? (builtins.fetchGit https://xgitlab.cels.anl.gov/argo/nrm.git)
}:
let
  argopkgs =  import argopkgs-src {};

  nrm = argopkgs.nodelevel.nrm.overrideAttrs (old: { src =  nrm-src; });
  containers = argopkgs.nodelevel.containers;
  amg = argopkgs.applications.nrm.amg;

  hpkgs = (p: with p;[
Valentin Reis's avatar
Valentin Reis committed
13
    turtle optparse-generic data-default interpolatedstring-perl6 managed
Valentin Reis's avatar
Valentin Reis committed
14 15
  ]);

Valentin Reis's avatar
Valentin Reis committed
16 17 18
  hpkgs-dev = (p: with p;[
    turtle optparse-generic data-default interpolatedstring-perl6 managed
    (argopkgs.haskell.lib.doJailbreak panpipe) ghcid
Valentin Reis's avatar
Valentin Reis committed
19
  ]);
Valentin Reis's avatar
Valentin Reis committed
20
in rec
Valentin Reis's avatar
Valentin Reis committed
21
{
Valentin Reis's avatar
Valentin Reis committed
22
  env = argopkgs.stdenv.mkDerivation {
Valentin Reis's avatar
Valentin Reis committed
23 24 25
      src=./.;
      name="nrm-experimental-dev-environment";
      buildInputs = [
26
        argopkgs.sudo
Valentin Reis's avatar
Valentin Reis committed
27 28 29 30 31
        containers
        amg
        nrm
      ];
  };
Valentin Reis's avatar
Valentin Reis committed
32 33 34 35 36 37
  test = env.overrideAttrs(old: {
    buildInputs = old.buildInputs ++ [ (argopkgs.haskellPackages.ghcWithPackages hpkgs) ];
  });
  dev = env.overrideAttrs(old: {
    buildInputs = old.buildInputs ++ [ (argopkgs.haskellPackages.ghcWithHoogle hpkgs-dev) ];
  });
Valentin Reis's avatar
Valentin Reis committed
38 39
}