systant/nix/package.nix

47 lines
1.2 KiB
Nix

{
lib,
beamPackages,
src,
}:
beamPackages.mixRelease rec {
pname = "systant";
version = "0.1.0";
inherit src;
# Disable distributed Erlang to avoid COOKIE requirement
postInstall = ''
# Create wrapper script that sets proper environment including COOKIE
mv $out/bin/systant $out/bin/.systant-wrapped
cat > $out/bin/systant << EOF
#!/bin/sh
export RELEASE_DISTRIBUTION=none
export RELEASE_NODE=nonode@nohost
export RELEASE_COOKIE=dummy_cookie_for_single_node
# Default to "start" command if no arguments provided
if [ \$# -eq 0 ]; then
exec "$out/bin/.systant-wrapped" start
else
exec "$out/bin/.systant-wrapped" "\$@"
fi
EOF
chmod +x $out/bin/systant
'';
# Mix dependencies will be automatically fetched and cached by Nix
mixFodDeps = beamPackages.fetchMixDeps {
pname = "systant-mix-deps";
inherit src version;
sha256 = "sha256-99aIYuSEO7V0Scgh6c4+FIStQpM2ccUvY1NwBArvhi8=";
};
meta = with lib; {
description = "Systant - System stats MQTT daemon for monitoring system metrics";
homepage = "https://git.ryanpandya.com/ryan/systant";
license = licenses.mit;
maintainers = [ ];
platforms = platforms.linux;
};
}