about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/applications/networking/deck/default.nix39
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 47 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index b0395c42dcd91..c4ee97c61bd27 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -9202,6 +9202,12 @@
       fingerprint = "74F5 E5CC 19D3 B5CB 608F  6124 68FF 81E6 A785 0F49";
     }];
   };
+  liyangau = {
+    email = "d@aufomm.com";
+    github = "liyangau";
+    githubId = 71299093;
+    name = "Li Yang";
+  };
   lizelive = {
     email = "nixpkgs@lize.live";
     github = "lizelive";
diff --git a/pkgs/applications/networking/deck/default.nix b/pkgs/applications/networking/deck/default.nix
new file mode 100644
index 0000000000000..f9c66d6338647
--- /dev/null
+++ b/pkgs/applications/networking/deck/default.nix
@@ -0,0 +1,39 @@
+{ buildGoModule, lib, installShellFiles, fetchFromGitHub }:
+let
+  short_hash = "7447a09";
+in buildGoModule rec {
+  pname = "deck";
+  version = "1.22.0";
+
+  src = fetchFromGitHub {
+    owner = "Kong";
+    repo = "deck";
+    rev = "v${version}";
+    hash = "sha256-BCx4bw+FrnH291sp52Dz+dc6cYtoLAt8fmdF6YbmgOE=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  CGO_ENABLED = 0;
+
+  ldflags = [
+    "-s -w -X github.com/kong/deck/cmd.VERSION=${version}"
+    "-X github.com/kong/deck/cmd.COMMIT=${short_hash}"
+  ];
+
+  vendorSha256 = "sha256-rir8z1IwQenTvihHWaA7dx6Nn45M82ulCNRJuQlUhEM=";
+
+  postInstall = ''
+    installShellCompletion --cmd deck \
+      --bash <($out/bin/deck completion bash) \
+      --fish <($out/bin/deck completion fish) \
+      --zsh <($out/bin/deck completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "A configuration management and drift detection tool for Kong";
+    homepage = "https://github.com/Kong/deck";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ liyangau ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6a3866691b37c..df4d8513bd15a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4600,6 +4600,8 @@ with pkgs;
 
   dduper = callPackage ../tools/filesystems/dduper { };
 
+  deck = callPackage ../applications/networking/deck { };
+
   dedup = callPackage ../tools/backup/dedup { };
 
   deheader = callPackage ../development/tools/misc/deheader { };