Fix COOKIE file missing in Nix build
- Add postInstall hook to ensure COOKIE file exists - Include ERTS and disable beam stripping in release config - Handle mixRelease differences from local builds This ensures the Elixir release works properly when built via Nix. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
9d8ad1890b
commit
f8173a1afb
4
mix.exs
4
mix.exs
@ -33,7 +33,9 @@ defmodule SystemStatsDaemon.MixProject do
|
||||
systant: [
|
||||
include_executables_for: [:unix],
|
||||
applications: [runtime_tools: :permanent],
|
||||
cookie: "systant-cookie-change-in-production"
|
||||
cookie: "systant-cookie-change-in-production",
|
||||
include_erts: true,
|
||||
strip_beams: false
|
||||
]
|
||||
]
|
||||
end
|
||||
|
||||
14
systant.nix
14
systant.nix
@ -6,17 +6,25 @@ beamPackages.mixRelease rec {
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.ryanpandya.com/ryan/systant.git";
|
||||
rev = "92fc90e3b470dd2d11ba3a84745e33195e8e9db3";
|
||||
sha256 = lib.fakeSha256; # Replace with actual hash after first build attempt
|
||||
rev = "9d8ad1890b682a58aaa27406a7f28337c4c67d5f";
|
||||
sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
||||
};
|
||||
|
||||
# Mix dependencies will be automatically fetched and cached by Nix
|
||||
mixFodDeps = beamPackages.fetchMixDeps {
|
||||
pname = "systant-mix-deps";
|
||||
inherit src version;
|
||||
sha256 = lib.fakeSha256; # Will get this from first build failure
|
||||
sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
||||
};
|
||||
|
||||
# Ensure COOKIE file exists
|
||||
postInstall = ''
|
||||
if [ ! -f $out/releases/COOKIE ]; then
|
||||
mkdir -p $out/releases
|
||||
echo "systant-cookie-change-in-production" > $out/releases/COOKIE
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Systant - System stats MQTT daemon for monitoring system metrics";
|
||||
homepage = "https://git.ryanpandya.com/ryan/systant";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user