about summary refs log tree commit diff
path: root/users/glittershark/xanthous/shell.nix
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-06-16T00·05+0100
committerVincent Ambo <mail@tazj.in>2020-06-16T00·05+0100
commit2edb963b97867b27f68efac8d05bf966077b0b01 (patch)
treec3bb279dfd4330e09a0af6ef4e84ff8a9a3bc7ad /users/glittershark/xanthous/shell.nix
parent91f53f02d8479303910abfd3f3690d3ef27e6c4b (diff)
parent53b56744f4335c038724a1bcffc27a7eb8cf6a6d (diff)
Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d' r/978
git-subtree-dir: users/glittershark/xanthous
git-subtree-mainline: 91f53f02d8479303910abfd3f3690d3ef27e6c4b
git-subtree-split: 53b56744f4335c038724a1bcffc27a7eb8cf6a6d
Diffstat (limited to 'users/glittershark/xanthous/shell.nix')
-rw-r--r--users/glittershark/xanthous/shell.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/users/glittershark/xanthous/shell.nix b/users/glittershark/xanthous/shell.nix
new file mode 100644
index 000000000000..edd2fe4c08d6
--- /dev/null
+++ b/users/glittershark/xanthous/shell.nix
@@ -0,0 +1,30 @@
+{ nixpkgs ? import ./nixpkgs.nix {}, compiler ? "ghc865", withHoogle ? true }:
+let
+  inherit (nixpkgs) pkgs;
+
+  pkg = import ./pkg.nix { inherit nixpkgs; };
+
+  packageSet = (
+    if compiler == "default"
+    then pkgs.haskellPackages
+    else pkgs.haskell.packages.${compiler}
+  ).override {
+    overrides = import ./haskell-overlay.nix { inherit nixpkgs; };
+  };
+
+  haskellPackages = (
+    if withHoogle
+    then packageSet.override {
+      overrides = (self: super: {
+        ghc = super.ghc // { withPackages = super.ghc.withHoogle; };
+        ghcWithPackages = self.ghc.withPackages;
+      } // (import ./haskell-overlay.nix { inherit nixpkgs; }) self super);
+    }
+    else packageSet
+  );
+
+  drv = haskellPackages.callPackage pkg {};
+
+  inherit (pkgs.haskell.lib) addBuildTools;
+in
+(addBuildTools drv (with haskellPackages; [ cabal-install ])).env