nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 ttyd,
5 buildGoModule,
6 fetchFromGitHub,
7 installShellFiles,
8 makeWrapper,
9 versionCheckHook,
10 nix-update-script,
11}:
12buildGoModule rec {
13 pname = "clive";
14 version = "0.12.16";
15
16 src = fetchFromGitHub {
17 owner = "koki-develop";
18 repo = "clive";
19 tag = "v${version}";
20 hash = "sha256-bZzK7RLAStRb9R3V/TK6tZV6yv1C7MGslAhhpWDzdWk=";
21 };
22
23 vendorHash = "sha256-BDspmaATLIfwyqxwJNJ24vpEETUWGVbobHWD2NRaOi4=";
24 subPackages = [ "." ];
25 buildInputs = [ ttyd ];
26 nativeBuildInputs = [
27 installShellFiles
28 makeWrapper
29 ];
30
31 ldflags = [
32 "-X github.com/koki-develop/clive/cmd.version=v${version}"
33 ];
34
35 postInstall = ''
36 wrapProgram $out/bin/clive --prefix PATH : ${ttyd}/bin
37 ''
38 + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
39 installShellCompletion --cmd clive \
40 --bash <($out/bin/clive completion bash) \
41 --fish <($out/bin/clive completion fish) \
42 --zsh <($out/bin/clive completion zsh)
43 '';
44
45 nativeInstallCheckInputs = [ versionCheckHook ];
46 doinstallCheck = true;
47
48 passthru.updateScript = nix-update-script { };
49
50 meta = {
51 description = "Automates terminal operations";
52 homepage = "https://github.com/koki-develop/clive";
53 changelog = "https://github.com/koki-develop/clive/releases/tag/v${version}";
54 license = lib.licenses.mit;
55 maintainers = with lib.maintainers; [ misilelab ];
56 mainProgram = "clive";
57 };
58}