2018-09-28 18:28:38 +00:00
|
|
|
{ lib
|
|
|
|
, buildGoPackage
|
|
|
|
, fetchFromGitHub
|
|
|
|
, callPackage
|
|
|
|
}:
|
2017-09-01 14:49:24 +00:00
|
|
|
let
|
|
|
|
list = import ./data.nix;
|
2017-09-08 18:36:43 +00:00
|
|
|
|
|
|
|
toDrv = data:
|
2017-09-01 14:49:24 +00:00
|
|
|
buildGoPackage rec {
|
2019-11-05 23:19:08 +00:00
|
|
|
inherit (data) owner repo rev version sha256;
|
2017-09-08 18:36:43 +00:00
|
|
|
name = "${repo}-${version}";
|
|
|
|
goPackagePath = "github.com/${owner}/${repo}";
|
2019-01-18 17:49:19 +00:00
|
|
|
subPackages = [ "." ];
|
2017-09-08 18:36:43 +00:00
|
|
|
src = fetchFromGitHub {
|
2019-11-05 23:19:08 +00:00
|
|
|
inherit owner repo rev sha256;
|
2017-09-08 18:36:43 +00:00
|
|
|
};
|
2019-09-16 22:47:28 +00:00
|
|
|
|
2018-02-06 21:09:22 +00:00
|
|
|
|
|
|
|
# Terraform allow checking the provider versions, but this breaks
|
|
|
|
# if the versions are not provided via file paths.
|
|
|
|
postBuild = "mv go/bin/${repo}{,_v${version}}";
|
2017-09-01 14:49:24 +00:00
|
|
|
};
|
|
|
|
in
|
2018-09-28 18:28:38 +00:00
|
|
|
{
|
2020-03-27 07:33:21 +00:00
|
|
|
elasticsearch = callPackage ./elasticsearch {};
|
2018-10-11 19:53:30 +00:00
|
|
|
gandi = callPackage ./gandi {};
|
2018-09-28 18:28:38 +00:00
|
|
|
ibm = callPackage ./ibm {};
|
|
|
|
libvirt = callPackage ./libvirt {};
|
2020-03-16 20:58:57 +00:00
|
|
|
lxd = callPackage ./lxd {};
|
2019-07-25 11:58:42 +00:00
|
|
|
ansible = callPackage ./ansible {};
|
2018-09-28 18:28:38 +00:00
|
|
|
} // lib.mapAttrs (n: v: toDrv v) list
|