X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/2532718d5288e1a2586fe5716cc41bb2a0210e16..1a1e3835458e37b4b56897d6ff7804660798d60c:/nix/package.nix diff --git a/nix/package.nix b/nix/package.nix index 20bb053..c3fa562 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -2,19 +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 '';