From 7b3d9efe022fa129c14b7bb85b6a7da700bf7034 Mon Sep 17 00:00:00 2001
From: Jens Nolte <jens@nightmarestudio.de>
Date: Fri, 15 Nov 2019 15:22:25 +0100
Subject: [PATCH] Move haskell-ide-engine to package.

---
 nixos/layers/dev-haskell.nix                | 12 +-----------
 nixos/pkgs/default.nix                      |  1 +
 nixos/pkgs/haskell-ide-engine/all-hies.json |  6 ++++++
 nixos/pkgs/haskell-ide-engine/default.nix   |  9 +++++++++
 nixos/pkgs/haskell-ide-engine/update        |  4 ++++
 5 files changed, 21 insertions(+), 11 deletions(-)
 create mode 100644 nixos/pkgs/haskell-ide-engine/all-hies.json
 create mode 100644 nixos/pkgs/haskell-ide-engine/default.nix
 create mode 100755 nixos/pkgs/haskell-ide-engine/update

diff --git a/nixos/layers/dev-haskell.nix b/nixos/layers/dev-haskell.nix
index 8bfe8a6..a83aaac 100644
--- a/nixos/layers/dev-haskell.nix
+++ b/nixos/layers/dev-haskell.nix
@@ -1,18 +1,8 @@
 { pkgs, ... }:
 
-let
-  all-hies-repo = pkgs.fetchFromGitHub {
-    owner = "infinisil";
-    repo = "all-hies";
-    rev = "0cba12ce4df375766dd183b4beebdee7d8e36e12";
-    sha256 = "1f91nrksr2x0zi2kbsy6qf4fmb1ybpx9p55rijhhs05rssk4b0nq";
-  };
-  all-hies = import all-hies-repo {};
-
-in
 {
   environment.systemPackages = with pkgs; [
     stack
-    all-hies.latest
+    haskell-ide-engine
   ];
 }
diff --git a/nixos/pkgs/default.nix b/nixos/pkgs/default.nix
index e0de960..3fba7c2 100644
--- a/nixos/pkgs/default.nix
+++ b/nixos/pkgs/default.nix
@@ -8,6 +8,7 @@ let
     # e.g.:
     #mypkg = haskell.packages.ghc865.callPackage ./mypkg { };
     dotnet-sdk = callPackage ./dotnet-sdk { };
+    haskell-ide-engine = (import ./haskell-ide-engine { inherit pkgs; }).haskell-ide-engine;
   };
 
 in newpkgs
diff --git a/nixos/pkgs/haskell-ide-engine/all-hies.json b/nixos/pkgs/haskell-ide-engine/all-hies.json
new file mode 100644
index 0000000..0ce99b3
--- /dev/null
+++ b/nixos/pkgs/haskell-ide-engine/all-hies.json
@@ -0,0 +1,6 @@
+{
+    "owner": "Infinisil",
+    "repo": "all-hies",
+    "rev": "c4fad117eb79305f5b8bc77a6a28562a5f8d2ca3",
+    "sha256": "19spg5xnb1gdnxal4vp402dknfhbva5jj5yq34qyzvksyn16c3dp"
+}
\ No newline at end of file
diff --git a/nixos/pkgs/haskell-ide-engine/default.nix b/nixos/pkgs/haskell-ide-engine/default.nix
new file mode 100644
index 0000000..cad4038
--- /dev/null
+++ b/nixos/pkgs/haskell-ide-engine/default.nix
@@ -0,0 +1,9 @@
+{ pkgs, ... }:
+
+let
+  all-hies-repo = pkgs.fetchFromGitHub (builtins.fromJSON (builtins.readFile ./all-hies.json));
+  all-hies = import all-hies-repo {};
+in
+{
+  haskell-ide-engine = all-hies.latest;
+}
\ No newline at end of file
diff --git a/nixos/pkgs/haskell-ide-engine/update b/nixos/pkgs/haskell-ide-engine/update
new file mode 100755
index 0000000..2dbc7aa
--- /dev/null
+++ b/nixos/pkgs/haskell-ide-engine/update
@@ -0,0 +1,4 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i zsh -p zsh nix-prefetch-github
+
+nix-prefetch-github Infinisil all-hies > all-hies.json
-- 
GitLab