about summary refs log tree commit diff
path: root/shell.nix
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2019-08-25T17·28-0400
committerGriffin Smith <root@gws.fyi>2019-08-25T17·28-0400
commitd3f3890dc5408581eb6181125c871d1cf2c0e18f (patch)
treeed6d9e396e6c732b1bce27ea6962ce408b59f218 /shell.nix
parentfb0d1b3e66251aa56a3df1d05fd4b82b33380a31 (diff)
An @-sign in a box, in haskell
Initial commit of a Haskell version of Xanthous, written using Brick and
built with Nix.

This is so much nicer and so much easier
Diffstat (limited to 'shell.nix')
-rw-r--r--shell.nix28
1 files changed, 28 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix
new file mode 100644
index 000000000000..aefc492d3d44
--- /dev/null
+++ b/shell.nix
@@ -0,0 +1,28 @@
+{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc865", withHoogle ? true }:
+let
+  inherit (nixpkgs) pkgs;
+
+  xan = import ./xanthous.nix;
+
+  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;
+      });
+    }
+    else packageSet
+  );
+
+  drv = haskellPackages.callPackage xan {};
+
+  inherit (pkgs.haskell.lib) addBuildTools;
+in
+(addBuildTools drv (with haskellPackages; [ cabal-install ])).env