about summary refs log tree commit diff
path: root/scratch/brilliant/default.nix
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-08-12T09·28+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-08-12T09·28+0100
commit3d6130c7cfb31d3a5eb5510d3aec55000b7df230 (patch)
treea4d1a9aa154e4afae493d7b7636aea8033b84f91 /scratch/brilliant/default.nix
parent17e1764ef8cfa7ebf6b8f1c6b4d4f6edd335e10d (diff)
Provide more useful instructions for building this project
TL;DR:
- include a default.nix to allow users to build an named executable
- emphasize in the README that the user needs Nix to build this project
- pin nixpkgs to a specific commit and fetch it from GitHub
Diffstat (limited to 'scratch/brilliant/default.nix')
-rw-r--r--scratch/brilliant/default.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/scratch/brilliant/default.nix b/scratch/brilliant/default.nix
new file mode 100644
index 000000000000..83c62a3d2eba
--- /dev/null
+++ b/scratch/brilliant/default.nix
@@ -0,0 +1,25 @@
+let
+  pkgs = import (builtins.fetchGit {
+    url = "https://github.com/NixOS/nixpkgs-channels";
+    ref = "nixos-20.03";
+    rev = "afa9ca61924f05aacfe495a7ad0fd84709d236cc";
+  }) {};
+
+  ghc = pkgs.haskellPackages.ghcWithPackages (hpkgs: [
+    hpkgs.optparse-applicative
+    hpkgs.unordered-containers
+  ]);
+in pkgs.stdenv.mkDerivation {
+  name = "transform-keyboard";
+  buildInputs = [];
+  src = builtins.path {
+    path = ./.;
+    name = "transform-keyboard-src";
+  };
+  buildPhase = ''
+    ${ghc}/bin/ghc ./Main.hs
+  '';
+  installPhase = ''
+    mkdir -p $out && mv Main $out/transform-keyboard
+  '';
+}