nixpkgs/pkgs/development/tools/hcloud/default.nix
Urban Skudnik d23c357f1c
hcloud: Add autocomplete support for bash and zsh
Currently one would need to manually run the command to generate
completion and insert it into `.bashrc`/`.zshrc` to get the
autocompletion to work. This patch will automatically generate
both docs and save them to correct position so it should continue
to work even if user changes the shell at a later stage.
2018-09-05 02:35:03 +02:00

38 lines
1.1 KiB
Nix

{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "hcloud-${version}";
version = "1.6.1";
goPackagePath = "github.com/hetznercloud/cli";
src = fetchFromGitHub {
owner = "hetznercloud";
repo = "cli";
rev = "v${version}";
sha256 = "0v5n7y8vb23iva51kb15da198yk7glc1fix193icrk3pvcbj5bjr";
};
buildFlagsArray = [ "-ldflags=" "-w -X github.com/hetznercloud/cli/cli.Version=${version}" ];
postInstall = ''
mkdir -p \
$bin/etc/bash_completion.d \
$bin/share/zsh/vendor-completions
# Add bash completions
$bin/bin/hcloud completion bash > "$bin/etc/bash_completion.d/hcloud"
# Add zsh completions
echo "#compdef hcloud" > "$bin/share/zsh/vendor-completions/_hcloud"
$bin/bin/hcloud completion zsh >> "$bin/share/zsh/vendor-completions/_hcloud"
'';
meta = {
description = "A command-line interface for Hetzner Cloud, a provider for cloud virtual private servers";
homepage = https://github.com/hetznercloud/cli;
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.zauberpony ];
};
}