From c5f0d28b71a34983043777634658376ef8bf7841 Mon Sep 17 00:00:00 2001
From: Felix Tenley <dev@felschr.com>
Date: Sat, 16 Jan 2021 17:52:54 +0100
Subject: [PATCH] feat: add haskell tools

---
 flake.lock       |  6 +++---
 flake.nix        | 13 +++++++++++--
 home/felschr.nix |  3 +++
 system/nix.nix   |  4 ++++
 4 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/flake.lock b/flake.lock
index 111231a..1453d79 100644
--- a/flake.lock
+++ b/flake.lock
@@ -35,11 +35,11 @@
     },
     "flake-utils": {
       "locked": {
-        "lastModified": 1605370193,
-        "narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=",
+        "lastModified": 1610051610,
+        "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=",
         "owner": "numtide",
         "repo": "flake-utils",
-        "rev": "5021eac20303a61fafe17224c087f5519baed54d",
+        "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc",
         "type": "github"
       },
       "original": {
diff --git a/flake.nix b/flake.nix
index 42246b9..33d70b4 100644
--- a/flake.nix
+++ b/flake.nix
@@ -10,6 +10,11 @@
 
   inputs.nur.url = "github:nix-community/NUR/master";
 
+  inputs.obelisk = {
+    url = "github:obsidiansystems/obelisk";
+    flake = false;
+  };
+
   inputs.pre-commit-hooks = {
     url =
       # "github:Myhlamaeus/pre-commit-hooks.nix/feat/flake";
@@ -17,7 +22,8 @@
     inputs.nixpkgs.follows = "nixpkgs";
   };
 
-  outputs = { self, nixpkgs, flake-utils, home-manager, nur, pre-commit-hooks }:
+  outputs = { self, nixpkgs, flake-utils, home-manager, nur, obelisk
+    , pre-commit-hooks }:
     let
       overlays = {
         deconz = self: super: {
@@ -26,6 +32,9 @@
           # with python{version}Packages.callPackage pydeconz { }
           pydeconz = ./pkgs/pydeconz;
         };
+        obelisk = self: super: {
+          obelisk = (import obelisk { inherit (self) system; }).command;
+        };
       };
       systemModule = { hostName, hardwareConfig, config }:
         ({ pkgs, ... }: {
@@ -37,7 +46,7 @@
 
           nix.registry.nixpkgs.flake = nixpkgs;
 
-          nixpkgs.overlays = [ nur.overlay overlays.deconz ];
+          nixpkgs.overlays = [ nur.overlay overlays.deconz overlays.obelisk ];
 
           imports =
             [ hardwareConfig home-manager.nixosModules.home-manager config ];
diff --git a/home/felschr.nix b/home/felschr.nix
index 92a360e..0c1b169 100644
--- a/home/felschr.nix
+++ b/home/felschr.nix
@@ -60,6 +60,9 @@
 
     # development
     haskellPackages.ghc
+    haskellPackages.cabal-install
+    stack
+    obelisk
     postman
 
     # entertainment
diff --git a/system/nix.nix b/system/nix.nix
index ccbe528..a2616d5 100644
--- a/system/nix.nix
+++ b/system/nix.nix
@@ -13,4 +13,8 @@
     dates = "10:00";
     options = "--delete-older-than 30d";
   };
+
+  nix.binaryCaches = [ "https://nixcache.reflex-frp.org" ];
+  nix.binaryCachePublicKeys =
+    [ "ryantrinkle.com-1:JJiAKaRv9mWgpVAz8dwewnZe0AzzEAzPkagE9SP5NWI=" ];
 }