X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/9bd91a76e6277f7716e206ddb665dc5fe6f5b583..80e348724041a694002fc38f57e8868b9b9a2be9:/nix/package.nix diff --git a/nix/package.nix b/nix/package.nix index ceb629f..c3fa562 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -2,22 +2,39 @@ lib, buildGoModule, src, + version, + callPackage, + whisper-cpp, }: +let + model = (callPackage ./voice-model.nix { }).small; +in buildGoModule { pname = "onechat"; - version = "0.1.0"; - inherit src; + inherit src version; subPackages = [ "." ]; - vendorHash = "sha256-Mpw1XigL2ARm8oTKwutBLHxdLChSfK1ZbGRaNww8jkk="; + ldflags = [ + "-X main.version=${version}" + "-X main.voiceTranscriberPath=${whisper-cpp}/bin/whisper-cli" + "-X main.voiceModelPath=${model}" + ]; + 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 - test "$("$out/bin/onechat")" = onechat + [[ "$("$out/bin/onechat" help)" == "Usage: onechat "* ]] + [[ "$("$out/bin/onechat" version)" == "${version}" ]] runHook postInstallCheck '';