]> git.giacomolli.uk - onechat/blobdiff - nix/package.nix
Write the log rules in the Go skill
[onechat] / nix / package.nix
index 20bb05377018e24e43b08b6133b5d5cf079838d2..f631044dc0f039ad4c0a5bbae78fd52d586a0a38 100644 (file)
@@ -2,19 +2,30 @@
   lib,
   buildGoModule,
   src,
+  version,
 }:
 buildGoModule {
   pname = "onechat";
-  version = "0.1.0";
-  inherit src;
+  inherit src version;
 
   subPackages = [ "." ];
-  vendorHash = "sha256-Mpw1XigL2ARm8oTKwutBLHxdLChSfK1ZbGRaNww8jkk=";
+  ldflags = [ "-X main.version=${version}" ];
+  vendorHash = "sha256-35kAjo+7gbOOzNbKJyMYUcAF11HK7WzO3m9ZcrOsqY0=";
+
+  # The flake check runs the full replay.
+  checkFlags = [ "-short" ];
+
+  postInstall = ''
+    mkdir -p "$out/share/systemd/user"
+    substitute ${./onechat.service} "$out/share/systemd/user/onechat.service" \
+      --subst-var-by onechat "$out/bin/onechat"
+  '';
 
   doInstallCheck = true;
   installCheckPhase = ''
     runHook preInstallCheck
-    test "$("$out/bin/onechat")" = onechat
+    [[ "$("$out/bin/onechat" help)" == "Usage: onechat "* ]]
+    [[ "$("$out/bin/onechat" version)" == "${version}" ]]
     runHook postInstallCheck
   '';