{ lib, buildGoModule, src, version, }: buildGoModule { pname = "onechat"; inherit src version; subPackages = [ "." ]; ldflags = [ "-X main.version=${version}" ]; vendorHash = "sha256-nRDUAGSXAK5/L2xyfDh3NbMOZmrGGEIm4vtgfWsxHYU="; # 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 [[ "$("$out/bin/onechat" help)" == "Usage: onechat "* ]] [[ "$("$out/bin/onechat" version)" == "${version}" ]] runHook postInstallCheck ''; meta = { description = "OneChat"; mainProgram = "onechat"; platforms = lib.platforms.linux; }; }