about summary refs log tree commit diff
path: root/users/glittershark/xanthous/shell.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/glittershark/xanthous/shell.nix')
-rw-r--r--users/glittershark/xanthous/shell.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/users/glittershark/xanthous/shell.nix b/users/glittershark/xanthous/shell.nix
new file mode 100644
index 0000000000..b78844c0ee
--- /dev/null
+++ b/users/glittershark/xanthous/shell.nix
@@ -0,0 +1,35 @@
+{ nixpkgs ? import ./nixpkgs.nix {}
+, pkgs ? nixpkgs.pkgs
+, compiler ? "ghc865"
+, withHoogle ? true
+}:
+let
+  pkg = import ./pkg.nix { inherit pkgs; };
+
+  packageSet = (
+    if compiler == "default"
+    then pkgs.haskellPackages
+    else pkgs.haskell.packages.${compiler}
+  );
+
+  haskellPackages = (
+    if withHoogle
+    then packageSet.override {
+      overrides = (self: super: {
+        ghc = super.ghc // { withPackages = super.ghc.withHoogle; };
+        ghcWithPackages = self.ghc.withPackages;
+      } // (import ../../../third_party/haskell_overlay { inherit pkgs; })
+        self super);
+    }
+    else packageSet
+  );
+
+  drv = pkgs.haskell.lib.doBenchmark (haskellPackages.callPackage pkg {});
+
+  inherit (pkgs.haskell.lib) addBuildTools;
+in
+(addBuildTools drv (with haskellPackages; [
+  cabal-install
+  ghc-prof-flamegraph
+  hp2pretty
+])).env