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
This commit is contained in:
William Carroll 2020-08-12 10:28:04 +01:00
parent 17e1764ef8
commit 3d6130c7cf
3 changed files with 67 additions and 18 deletions

View file

@ -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
'';
}