94 lines
2.6 KiB
Nix
94 lines
2.6 KiB
Nix
final: prev: {
|
|
ensureZfsMounts = prev.writeShellApplication {
|
|
name = "zfsEnsureMounted";
|
|
runtimeInputs = with prev; [
|
|
zfs
|
|
gawk
|
|
coreutils
|
|
];
|
|
|
|
text = ''
|
|
#!/bin/sh
|
|
|
|
if [[ "$#" -eq "0" ]]; then
|
|
echo "no arguments passed"
|
|
exit 1
|
|
fi
|
|
|
|
MOUNTED=$(zfs list -o mountpoint,mounted -H | awk '$NF == "yes" {NF--; print}')
|
|
|
|
MISSING=""
|
|
for target in "$@"; do
|
|
if ! grep -Fxq "$target" <<< "$MOUNTED"; then
|
|
MISSING="$MISSING $target"
|
|
fi
|
|
done
|
|
|
|
if [[ -n "$MISSING" ]]; then
|
|
echo "FAILURE, missing:$MISSING" 1>&2
|
|
exit 1
|
|
fi
|
|
'';
|
|
};
|
|
|
|
reflac = prev.writeShellApplication {
|
|
name = "reflac";
|
|
runtimeInputs = with prev; [ flac ];
|
|
excludeShellChecks = [ "2086" ];
|
|
|
|
text = builtins.readFile (
|
|
prev.fetchurl {
|
|
url = "https://raw.githubusercontent.com/chungy/reflac/refs/heads/master/reflac";
|
|
sha256 = "61c6cc8be3d276c6714e68b55e5de0e6491f50bbf195233073dbce14a1e278a7";
|
|
}
|
|
);
|
|
};
|
|
|
|
jellyfin-exporter = prev.buildGoModule rec {
|
|
pname = "jellyfin-exporter";
|
|
version = "unstable-2025-03-27";
|
|
src = prev.fetchFromGitHub {
|
|
owner = "rebelcore";
|
|
repo = "jellyfin_exporter";
|
|
rev = "8e3970cb1bdf3cb21fac099c13072bb7c1b20cf9";
|
|
hash = "sha256-wDnhepYj1MyLRZlwKfmwf4xiEEL3mgQY6V+7TnBd0MY=";
|
|
};
|
|
vendorHash = "sha256-e08u10e/wNapNZSsD/fGVN9ybMHe3sW0yDIOqI8ZcYs=";
|
|
# upstream tests require a running Jellyfin instance
|
|
doCheck = false;
|
|
meta.mainProgram = "jellyfin_exporter";
|
|
};
|
|
|
|
igpu-exporter = prev.buildGoModule rec {
|
|
pname = "igpu-exporter";
|
|
version = "unstable-2025-03-27";
|
|
src = prev.fetchFromGitHub {
|
|
owner = "mike1808";
|
|
repo = "igpu-exporter";
|
|
rev = "db2dace1a895c2b950f6d3ba1a2e46729251d124";
|
|
hash = "sha256-xWTiu26UzTZIK/6jeda+x6VePUgoWTS0AekejFdgFWs=";
|
|
};
|
|
vendorHash = "sha256-oeCSKwDKVwvYQ1fjXXTwQSXNl/upDE3WAAk680vqh3U=";
|
|
subPackages = [ "cmd" ];
|
|
postInstall = ''
|
|
mv $out/bin/cmd $out/bin/igpu-exporter
|
|
'';
|
|
meta.mainProgram = "igpu-exporter";
|
|
};
|
|
|
|
mc-monitor = prev.buildGoModule rec {
|
|
pname = "mc-monitor";
|
|
version = "0.16.1";
|
|
src = prev.fetchFromGitHub {
|
|
owner = "itzg";
|
|
repo = "mc-monitor";
|
|
rev = version;
|
|
hash = "sha256-/94+Z9FTFOzQHynHiJuaGFiidkOxmM0g/FIpHn+xvJM=";
|
|
};
|
|
vendorHash = "sha256-qq7rIpvGRi3AMnBbi8uAhiPcfSF4McIuqozdtxB5CeQ=";
|
|
# upstream tests probe live Minecraft servers
|
|
doCheck = false;
|
|
meta.mainProgram = "mc-monitor";
|
|
};
|
|
}
|