From 179a0c8e86868428d2895742d2b066cc72542070 Mon Sep 17 00:00:00 2001
From: makefu <github@syntax-fehler.de>
Date: Sun, 24 Jun 2018 23:42:30 +0200
Subject: [PATCH] onebutton.r: add mpc-booter

---
 krebs/1systems/onebutton/config.nix | 30 +++++++++++++++++++++++++++++
 krebs/1systems/onebutton/source.nix |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/krebs/1systems/onebutton/config.nix b/krebs/1systems/onebutton/config.nix
index dca00a206..b87aef5a3 100644
--- a/krebs/1systems/onebutton/config.nix
+++ b/krebs/1systems/onebutton/config.nix
@@ -16,6 +16,36 @@
       services.nixosManual.enable = false;
       services.journald.extraConfig = "SystemMaxUse=50M";
     }
+    {
+      systemd.services.mpc-booter = let
+        mpc = "${pkgs.mpc_cli}/bin/mpc -h mpd.shack -p 6600";
+        url = "http://lassul.us:8000/radio.ogg";
+        say = pkgs.writeDash "say" ''
+          tmpfile=$(${pkgs.coreutils}/bin/mktemp)
+          echo "$@" > $tmpfile
+          ${pkgs.curl}/bin/curl -i -H "content-type: text/plain" -X POST -d "@$tmpfile" gobbelz.shack/say/
+          rm "$tmpfile"
+        '';
+      in {
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network-online.target" ];
+        serviceConfig = {
+          RemainAfterExit = "yes";
+          Type = "oneshot";
+          ExecStart = pkgs.writeDash "mpc-boot" ''
+            until ${mpc} stats;do
+              echo "waiting for mpd.shack to appear"
+              sleep 1
+            done
+            ${say} "Willkommen im Shack wertes Mitglied"
+
+            ${say} "Lassulus Super Radio wurde gestartet"
+            ${mpc} add ${url}
+            ${mpc} play
+          '';
+        };
+      };
+    }
   ];
   krebs.build.host = config.krebs.hosts.onebutton;
   # NixOS wants to enable GRUB by default
diff --git a/krebs/1systems/onebutton/source.nix b/krebs/1systems/onebutton/source.nix
index 8f25881c9..6842bfaab 100644
--- a/krebs/1systems/onebutton/source.nix
+++ b/krebs/1systems/onebutton/source.nix
@@ -4,7 +4,7 @@ let
   nixpkgs = pkgs.fetchFromGitHub {
     owner = "nixos";
     repo = "nixpkgs-channels";
-    rev = "6c064e6b"; # only binary cache for unstable arm6
+    rev = "nixos-unstable"; # only binary cache for unstable arm6
     sha256 = "1rqzh475xn43phagrr30lb0fd292c1s8as53irihsnd5wcksnbyd";
   };
 in import <stockholm/krebs/source.nix> {