2018-04-21 10:53:32 +00:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
2018-05-03 16:43:22 +00:00
|
|
|
# :l <nixpkgs>
|
|
|
|
# builtins.readDir (pkgs.fetchFromGitHub { owner = "nixos"; repo = "nixpkgs-channels"; rev = "6c064e6b"; sha256 = "1rqzh475xn43phagrr30lb0fd292c1s8as53irihsnd5wcksnbyd"; })
|
2018-04-21 10:53:32 +00:00
|
|
|
imports = [
|
|
|
|
<stockholm/krebs>
|
2018-04-21 14:14:01 +00:00
|
|
|
<stockholm/krebs/2configs>
|
2018-05-03 16:43:22 +00:00
|
|
|
{ # flag to rebuild everything yourself:
|
|
|
|
# environment.noXlibs = true;
|
|
|
|
|
|
|
|
# minimal disk usage
|
2018-04-21 14:14:01 +00:00
|
|
|
nix.gc.automatic = true;
|
|
|
|
nix.gc.dates = "03:10";
|
2018-05-03 16:43:22 +00:00
|
|
|
documentation.man.enable = false;
|
|
|
|
documentation.info.enable = false;
|
2018-04-21 14:14:01 +00:00
|
|
|
services.nixosManual.enable = false;
|
2018-05-03 16:43:22 +00:00
|
|
|
services.journald.extraConfig = "SystemMaxUse=50M";
|
2018-04-21 14:14:01 +00:00
|
|
|
}
|
2018-06-24 21:42:30 +00:00
|
|
|
{
|
|
|
|
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
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
2018-04-21 10:53:32 +00:00
|
|
|
];
|
2018-04-21 14:14:01 +00:00
|
|
|
krebs.build.host = config.krebs.hosts.onebutton;
|
2018-04-21 10:53:32 +00:00
|
|
|
# NixOS wants to enable GRUB by default
|
|
|
|
boot.loader.grub.enable = false;
|
2018-05-03 16:43:22 +00:00
|
|
|
|
2018-04-21 10:53:32 +00:00
|
|
|
# Enables the generation of /boot/extlinux/extlinux.conf
|
|
|
|
boot.loader.generic-extlinux-compatible.enable = true;
|
|
|
|
|
|
|
|
boot.kernelPackages = pkgs.linuxPackages_rpi;
|
|
|
|
|
|
|
|
nix.binaryCaches = [ "http://nixos-arm.dezgeg.me/channel" ];
|
|
|
|
nix.binaryCachePublicKeys = [ "nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%" ];
|
|
|
|
|
|
|
|
fileSystems = {
|
|
|
|
"/boot" = {
|
|
|
|
device = "/dev/disk/by-label/NIXOS_BOOT";
|
|
|
|
fsType = "vfat";
|
|
|
|
};
|
|
|
|
"/" = {
|
|
|
|
device = "/dev/disk/by-label/NIXOS_SD";
|
|
|
|
fsType = "ext4";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
swapDevices = [ { device = "/swapfile"; size = 1024; } ];
|
2018-04-21 14:01:31 +00:00
|
|
|
services.openssh.enable = true;
|
2018-05-03 16:43:22 +00:00
|
|
|
|
|
|
|
networking.wireless.enable = true;
|
|
|
|
hardware.enableRedistributableFirmware = true;
|
2018-04-21 10:53:32 +00:00
|
|
|
}
|