about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/dex/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/dex/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/dex/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/dex/default.nix b/nixpkgs/pkgs/servers/dex/default.nix
new file mode 100644
index 000000000000..0fe7a340cd49
--- /dev/null
+++ b/nixpkgs/pkgs/servers/dex/default.nix
@@ -0,0 +1,45 @@
+{ lib, buildGoModule, fetchFromGitHub, nixosTests, testers, dex-oidc }:
+
+buildGoModule rec {
+  pname = "dex";
+  version = "2.39.0";
+
+  src = fetchFromGitHub {
+    owner = "dexidp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-edU9jRvGRRmm46UuQ7GlapQ+4AGjy/5gFn5mU9HJjd0=";
+  };
+
+  vendorHash = "sha256-vG82gW3AXYDND0JmzxJqqHgvxk4ey6yIXadwL0zPHD4=";
+
+  subPackages = [
+    "cmd/dex"
+  ];
+
+  ldflags = [
+    "-w" "-s" "-X main.version=${src.rev}"
+  ];
+
+  postInstall = ''
+    mkdir -p $out/share
+    cp -r $src/web $out/share/web
+  '';
+
+  passthru.tests = {
+    inherit (nixosTests) dex-oidc;
+    version = testers.testVersion {
+      package = dex-oidc;
+      command = "dex version";
+      version = "v${version}";
+    };
+  };
+
+  meta = with lib; {
+    description = "OpenID Connect and OAuth2 identity provider with pluggable connectors";
+    homepage = "https://github.com/dexidp/dex";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ benley techknowlogick ];
+    mainProgram = "dex";
+  };
+}