diff options
-rw-r--r-- | krebs/5pkgs/whatsupnix/default.nix | 15 | ||||
-rw-r--r-- | krebs/5pkgs/whatsupnix/whatsupnix.bash | 44 | ||||
-rw-r--r-- | makefu/2configs/audio/realtime-audio.nix | 4 | ||||
-rw-r--r-- | makefu/2configs/deployment/wiki-irc.nix | 4 |
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}" } } |