hswaw/machines: add tv1, larrythebuilder

This adds two brand new AArch64 machines: a generic builder (and
instructions on how to use it) and tv1.waw, an RPi4 acting as digital
signage in the space.

Change-Id: I8d38344ec35f99f4b872cf9526f6e6771fbffc43
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1330
Reviewed-by: informatic <informatic@hackerspace.pl>
diff --git a/hswaw/machines/tv1.waw.hackerspace.pl/signage.nix b/hswaw/machines/tv1.waw.hackerspace.pl/signage.nix
new file mode 100644
index 0000000..449b0a3
--- /dev/null
+++ b/hswaw/machines/tv1.waw.hackerspace.pl/signage.nix
@@ -0,0 +1,40 @@
+{ love, curl, fetchFromGitHub, fetchgit, stdenv, lib, ... }:
+let
+  love12 = (love.overrideAttrs (oa: {
+    version = "12.0-dev";
+    src = fetchFromGitHub {
+      owner = "love2d";
+      repo = "love";
+      rev = "d586d1847446f5212d5f7e9efb94e50fcfba7d77";
+      sha256 = "sha256-gTpVtyqXV6/GsezuCpooaY+x5tPfOF9p1b83v4kKR4E=";
+    };
+    makeFlags = [
+      "CPPFLAGS=-DHTTPS_BACKEND_CURL"
+    ];
+    buildInputs = oa.buildInputs ++ [ curl ];
+    NIX_LDFLAGS = "-lcurl";
+    enableParallelBuilding = true;
+  }));
+
+  signage = stdenv.mkDerivation {
+    name = "signage";
+    src = fetchgit {
+      url = "https://code.hackerspace.pl/q3k/love2d-signage";
+      rev = "6c14716222e28b004861b3926560bf21d519fb00";
+      sha256 = "sha256-dfZ6Q320+ukMt9Q2igcARBM72LRbW5ltEvxrngSW8fQ=";
+    };
+
+    installPhase = ''
+      mkdir -p $out/share/signage
+      cp -rv $src/* $out/share/signage/
+
+      mkdir -p $out/bin/
+      cat <<EOF >$out/bin/signage
+      #!/usr/bin/env bash
+      ${love12}/bin/love $out/share/signage
+      EOF
+      chmod +x $out/bin/signage
+    '';
+  };
+
+in signage