about summary refs log tree commit diff
path: root/website/sandbox/learnpianochords/src/server
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-08-12T15·28+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-08-12T15·28+0100
commit2da4b12266322a3cfb7aa31cc24cfa591eb4e3d0 (patch)
treebe1a0fceb5f2e213f077ad4924c71942551687d4 /website/sandbox/learnpianochords/src/server
parent4ea55dd0130f33877deed5fc6822ac4d80ce3aef (diff)
Consume buildHaskell functions
Use the newly defined `buildHaskell` function for a few of my existing Haskell
projects. So far, it works as intended!
Diffstat (limited to 'website/sandbox/learnpianochords/src/server')
-rw-r--r--website/sandbox/learnpianochords/src/server/default.nix42
-rw-r--r--website/sandbox/learnpianochords/src/server/shell.nix30
2 files changed, 35 insertions, 37 deletions
diff --git a/website/sandbox/learnpianochords/src/server/default.nix b/website/sandbox/learnpianochords/src/server/default.nix
index a39f89b043ba..4efe1183d16a 100644
--- a/website/sandbox/learnpianochords/src/server/default.nix
+++ b/website/sandbox/learnpianochords/src/server/default.nix
@@ -1,27 +1,27 @@
 let
-  pkgs = import /home/wpcarro/nixpkgs {};
-  ghc = pkgs.haskellPackages.ghcWithPackages (hpkgs: [
-    hpkgs.servant-server
-    hpkgs.aeson
-    hpkgs.wai-cors
-    hpkgs.warp
-    hpkgs.jwt
-    hpkgs.unordered-containers
-    hpkgs.base64
-    hpkgs.http-conduit
-    hpkgs.rio
-  ]);
-in pkgs.stdenv.mkDerivation {
-  name = "LearnPianoChords-server";
+  briefcase = import /home/wpcarro/briefcase {};
+in briefcase.buildHaskell.program {
+  name = "server";
   srcs = builtins.path {
     path = ./.;
     name = "LearnPianoChords-server-src";
   };
-  buildPhase = ''
-    ${ghc} -O Main.hs \
-      -XOverloadedStrings \
-      -XNoImplicitPrelude \
-      -XRecordWildCards \
-      -XTypeApplications
-  '';
+  ghcExtensions = [
+    "OverloadedStrings"
+    "NoImplicitPrelude"
+    "RecordWildCards"
+    "TypeApplications"
+  ];
+  deps = hpkgs: with hpkgs; [
+    servant-server
+    aeson
+    wai-cors
+    warp
+    jwt
+    unordered-containers
+    base64
+    http-conduit
+    rio
+    envy
+  ];
 }
diff --git a/website/sandbox/learnpianochords/src/server/shell.nix b/website/sandbox/learnpianochords/src/server/shell.nix
index 6cb5e19e99fa..4d787184bd4a 100644
--- a/website/sandbox/learnpianochords/src/server/shell.nix
+++ b/website/sandbox/learnpianochords/src/server/shell.nix
@@ -1,19 +1,17 @@
 let
-  pkgs = import /home/wpcarro/nixpkgs {};
-in pkgs.mkShell {
-  buildInputs = with pkgs; [
-    (haskellPackages.ghcWithPackages (hpkgs: [
-      hpkgs.hspec
-      hpkgs.servant-server
-      hpkgs.aeson
-      hpkgs.wai-cors
-      hpkgs.warp
-      hpkgs.jwt
-      hpkgs.unordered-containers
-      hpkgs.base64
-      hpkgs.http-conduit
-      hpkgs.rio
-      hpkgs.envy
-    ]))
+  briefcase = import /home/wpcarro/briefcase {};
+in briefcase.buildHaskell.shell {
+  deps = hpkgs: with hpkgs; [
+    hspec
+    servant-server
+    aeson
+    wai-cors
+    warp
+    jwt
+    unordered-containers
+    base64
+    http-conduit
+    rio
+    envy
   ];
 }