{ 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 pkgs = import argopkgs-src {}; nrm = pkgs.nodelevel.nrm.overrideAttrs (old: { src = nrm-src; }); containers = pkgs.nodelevel.containers; amg = pkgs.applications.nrm.amg; filterHdevTools = builtins.filterSource (path: type: baseNameOf path != ".hdevtools.sock"); hpkgs = pkgs.haskellPackages.override { overrides = self: super: rec { argotest = self.callCabal2nix "argotest" (filterHdevTools ./argotest) {}; }; }; in rec { dev-lib = hpkgs.shellFor { packages = p: with p; [ argotest ]; withHoogle = true; buildInputs = with hpkgs; with pkgs; [ cabal-install ghcid hlint sysstat hdevtools]; }; dev-test = pkgs.stdenv.mkDerivation rec { name = "env"; env = pkgs.buildEnv { name = name; paths = buildInputs; }; buildInputs = [ (hpkgs.ghcWithPackages (p: [ p.argotest p.turtle p.data-default p.managed p.ansi-terminal p.unix p.system-filepath p.async ])) containers hpkgs.hdevtools hpkgs.hlint hpkgs.ghcid amg nrm ]; }; test = pkgs.stdenv.mkDerivation rec { name = "env"; env = pkgs.buildEnv { name = name; paths = buildInputs; }; buildInputs = [ (hpkgs.ghcWithPackages (p: [p.argotest])) containers amg nrm ]; }; }