diff options
author | William Carroll <wpcarro@gmail.com> | 2020-04-17T14·08+0100 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-04-17T14·08+0100 |
commit | 277ad983d4d9caf51679d3c1c615ecc7134539be (patch) | |
tree | e90dd4771dff6555bc3c0c5326ac939f5fed79e1 /website/sandbox/chord-drill-sergeant/default.nix | |
parent | bdb16c11bac3c1de7aa0b03a49da75d2bdc2d569 (diff) |
Nixify build for Chord Drill Sergeant
Thankfully @tazjin builds Gemma (an Elm project) with Nix, so I could reference Gemma's default.nix to help me with mine. Elm problematically attempts to HTTP-fetch a list of packages to verify my project's dependencies. Because Nix builds derivations in a sandbox without network access, I need to use some escape hatches (i.e. NIX_REDIRECTS, LD_PRELOAD, SYSTEM_CERTIFICATE_PATH). Welp... it's packaged now... I'm also pointing learnpianochords.app to this project's index.html. It will be live soon! :) TODO(wpcarro): Rename "Chord Drill Sergeant" -> "Learn Piano Chords" (KISS)
Diffstat (limited to 'website/sandbox/chord-drill-sergeant/default.nix')
-rw-r--r-- | website/sandbox/chord-drill-sergeant/default.nix | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/website/sandbox/chord-drill-sergeant/default.nix b/website/sandbox/chord-drill-sergeant/default.nix new file mode 100644 index 000000000000..7ea92c29f5c1 --- /dev/null +++ b/website/sandbox/chord-drill-sergeant/default.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: + +pkgs.stdenv.mkDerivation { + name = "learn-piano-chords"; + src = ./.; + buildInputs = with pkgs; [ + elmPackages.elm + nodejs + ]; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "0diya7q8ird56jsbf2p49fyvldsay6m9z251zr2rq1i4qs7idy0j"; + phases = [ "unpackPhase" "buildPhase" ]; + buildPhase = '' + export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols + export LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so + export SYSTEM_CERTIFICATE_PATH=${pkgs.cacert}/etc/ssl/certs + + mkdir -p $out + cp index.html $out + elm make src/Main.elm --optimize --output=$out/elm.js + npx tailwindcss build index.css -o $out/output.css + ''; +} |