systant/nix/package.nix
ryan 36e590becb Fix COOKIE issue by setting RELEASE_COOKIE environment variable
- Remove dummy COOKIE file creation (doesn't work in Nix store)
- Set RELEASE_COOKIE env var in wrapper script instead
- This follows NixOS best practices for Elixir releases
2025-08-02 20:14:24 -07:00

43 lines
1.0 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
exec "$out/bin/.systant-wrapped" "\$@"
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-g8L/ZzCaXznrd+YLCMgvV94NVTKoFnK/Y/RXXPIMAjg=";
};
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;
};
}