summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/5pkgs/whatsupnix/default.nix15
-rw-r--r--krebs/5pkgs/whatsupnix/whatsupnix.bash44
-rw-r--r--makefu/2configs/audio/realtime-audio.nix4
-rw-r--r--makefu/2configs/deployment/wiki-irc.nix4
4 files changed, 65 insertions, 2 deletions
diff --git a/krebs/5pkgs/whatsupnix/default.nix b/krebs/5pkgs/whatsupnix/default.nix
new file mode 100644
index 000000000..1a108c5e9
--- /dev/null
+++ b/krebs/5pkgs/whatsupnix/default.nix
@@ -0,0 +1,15 @@
+{ bash, coreutils, gawk, nix, makeWrapper, stdenv }:
+
+stdenv.mkDerivation {
+ name = "whatsupnix";
+ phases = [ "installPhase" ];
+ nativeBuildInputs = [ makeWrapper ];
+ installPhase = ''
+ mkdir -p $out/bin
+ cat - ${./whatsupnix.bash} > $out/bin/whatsupnix <<\EOF
+ #! ${bash}/bin/bash
+ export PATH=${stdenv.lib.makeBinPath [ coreutils gawk nix ]}
+ EOF
+ chmod +x $out/bin/whatsupnix
+ '';
+}
diff --git a/krebs/5pkgs/whatsupnix/whatsupnix.bash b/krebs/5pkgs/whatsupnix/whatsupnix.bash
new file mode 100644
index 000000000..a19410055
--- /dev/null
+++ b/krebs/5pkgs/whatsupnix/whatsupnix.bash
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+
+# Prints build logs for failed derivations in quiet build mode (-Q).
+# See https://github.com/NixOS/nix/issues/443
+#
+# Usage:
+#
+# set -o pipefail
+# nix-build ... -Q ... | whatsupnix
+#
+
+
+GAWK=${GAWK:-gawk}
+NIX_STORE=${NIX_STORE:-nix-store}
+
+broken=$(mktemp)
+trap 'rm -f -- "$broken"' EXIT
+
+exec >&2
+
+$GAWK -v broken="$broken" -f <(cat - <<- 'AWK'
+ match($0, /builder for .*(\/nix\/store\/.+\.drv).* failed/, m) {
+ print m[1] >> broken
+ }
+ { print $0 }
+AWK
+)
+
+export NIX_PAGER='' # for nix-store
+while read -r drv; do
+ title="** FAILED $drv LOG **"
+ frame=${title//?/*}
+
+ echo "$frame"
+ echo "$title"
+ echo "$frame"
+ echo
+
+ $NIX_STORE -l "$drv"
+
+ echo
+done < "$broken"
+
+exit 0
diff --git a/makefu/2configs/audio/realtime-audio.nix b/makefu/2configs/audio/realtime-audio.nix
index d9709e4b7..fbeacd025 100644
--- a/makefu/2configs/audio/realtime-audio.nix
+++ b/makefu/2configs/audio/realtime-audio.nix
@@ -8,5 +8,9 @@ in
<musnix>
];
musnix.enable = true;
+ musnix.kernel.optimize = true;
+ musnix.kernel.realtime = true;
+ # TODO: musnix.kernel.packages = pkgs.linuxPackages_latest_rt;
+
users.users."${user}".extraGroups = [ "audio" ];
}
diff --git a/makefu/2configs/deployment/wiki-irc.nix b/makefu/2configs/deployment/wiki-irc.nix
index a7527f796..dc7c8afe8 100644
--- a/makefu/2configs/deployment/wiki-irc.nix
+++ b/makefu/2configs/deployment/wiki-irc.nix
@@ -40,9 +40,9 @@ in {
file { path => "/tmp/logs.json" codec => "json_lines" }
if [output] {
irc {
- channels => [ "#krebs" ]
+ channels => [ "#nixos" , "#krebs" ]
host => "irc.freenode.net"
- nick => "nixos-wiki"
+ nick => "nixos-users-wiki"
format => "%{output}"
}
}