about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/security/gopass
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/security/gopass')
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/default.nix75
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/git-credential.nix39
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/jsonapi.nix40
-rw-r--r--nixpkgs/pkgs/tools/security/gopass/summon.nix39
4 files changed, 193 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/security/gopass/default.nix b/nixpkgs/pkgs/tools/security/gopass/default.nix
new file mode 100644
index 000000000000..50dfe3b8ce63
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gopass/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, makeWrapper
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, git
+, gnupg
+, xclip
+, wl-clipboard
+, passAlias ? false
+}:
+
+buildGoModule rec {
+  pname = "gopass";
+  version = "1.13.1";
+
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
+
+  src = fetchFromGitHub {
+    owner = "gopasspw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-g/ICT489uW3a5EnsxJPYOnV+yeOFfaFPMowdIK0M1Fc=";
+  };
+
+  vendorSha256 = "sha256-HGc6jUp4WO5P5dwfa0r7+X78a8us9fWrf+/IOotZHqk=";
+
+  subPackages = [ "." ];
+
+  doCheck = false;
+
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ];
+
+  wrapperPath = lib.makeBinPath (
+    [
+      git
+      gnupg
+      xclip
+    ] ++ lib.optional stdenv.isLinux wl-clipboard
+  );
+
+  postInstall = ''
+    installManPage gopass.1
+    installShellCompletion --zsh --name _gopass zsh.completion
+    installShellCompletion --bash --name gopass.bash bash.completion
+    installShellCompletion --fish --name gopass.fish fish.completion
+  '' + lib.optionalString passAlias ''
+    ln -s $out/bin/gopass $out/bin/pass
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/gopass \
+      --prefix PATH : "${wrapperPath}" \
+      --set GOPASS_NO_REMINDER true
+  '';
+
+  meta = with lib; {
+    description = "The slightly more awesome Standard Unix Password Manager for Teams. Written in Go";
+    homepage = "https://www.gopass.pw/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rvolosatovs ];
+    changelog = "https://github.com/gopasspw/gopass/raw/v${version}/CHANGELOG.md";
+
+    longDescription = ''
+      gopass is a rewrite of the pass password manager in Go with the aim of
+      making it cross-platform and adding additional features. Our target
+      audience are professional developers and sysadmins (and especially teams
+      of those) who are well versed with a command line interface. One explicit
+      goal for this project is to make it more approachable to non-technical
+      users. We go by the UNIX philosophy and try to do one thing and do it
+      well, providing a stellar user experience and a sane, simple interface.
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gopass/git-credential.nix b/nixpkgs/pkgs/tools/security/gopass/git-credential.nix
new file mode 100644
index 000000000000..0b15e9b02353
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gopass/git-credential.nix
@@ -0,0 +1,39 @@
+{ lib
+, makeWrapper
+, buildGoModule
+, fetchFromGitHub
+, gopass
+}:
+
+buildGoModule rec {
+  pname = "git-credential-gopass";
+  version = "1.12.0";
+
+  src = fetchFromGitHub {
+    owner = "gopasspw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-IvYxpUMclDAKJ/EkRbNrX8eIFyhtY9Q0B0RipweieZA=";
+  };
+
+  vendorSha256 = "sha256-N6eU6KsnUrYBK90ydwUH8LNkR9KRjgc4ciGOGvy7pw8=";
+
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}"
+  ];
+
+  postFixup = ''
+    wrapProgram $out/bin/git-credential-gopass --prefix PATH : "${lib.makeBinPath [ gopass ]}"
+  '';
+
+  meta = with lib; {
+    description = "Manage git credentials using gopass";
+    homepage = "https://github.com/gopasspw/git-credential-gopass";
+    license = licenses.mit;
+    maintainers = with maintainers; [ benneti ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gopass/jsonapi.nix b/nixpkgs/pkgs/tools/security/gopass/jsonapi.nix
new file mode 100644
index 000000000000..c138bde2cc3c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gopass/jsonapi.nix
@@ -0,0 +1,40 @@
+{ lib
+, makeWrapper
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, gopass
+}:
+
+buildGoModule rec {
+  pname = "gopass-jsonapi";
+  version = "1.11.1";
+
+  src = fetchFromGitHub {
+    owner = "gopasspw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "03xhza7n92xg12z83as9qdvvc0yx1qy6q0c7i4njvng594f9a8x2";
+  };
+
+  vendorSha256 = "0d4fyppsdfzvmjb0qvpnfnw0vl6z256bly7hfb0whk6rldks60wr";
+
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
+
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}"
+  ];
+
+  postFixup = ''
+    wrapProgram $out/bin/gopass-jsonapi --prefix PATH : "${lib.makeBinPath [ gopass ]}"
+  '';
+
+  meta = with lib; {
+    description = "Enables communication with gopass via JSON messages";
+    homepage = "https://www.gopass.pw/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ maxhbr ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/gopass/summon.nix b/nixpkgs/pkgs/tools/security/gopass/summon.nix
new file mode 100644
index 000000000000..c1be7c9eb081
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/gopass/summon.nix
@@ -0,0 +1,39 @@
+{ lib
+, makeWrapper
+, buildGoModule
+, fetchFromGitHub
+, gopass
+}:
+
+buildGoModule rec {
+  pname = "gopass-summon-provider";
+  version = "1.12.0";
+
+  src = fetchFromGitHub {
+    owner = "gopasspw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-mRZXczIlW1s0VGZJ+KQue4Dz6XCXGfl56+g6iRv2lZg=";
+  };
+
+  vendorSha256 = "sha256-fiV4rtel2jOw6y/ukOZHeFuNVqxHS3rnYhXJ6JZ+a/8=";
+
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  ldflags = [
+    "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}"
+  ];
+
+  postFixup = ''
+    wrapProgram $out/bin/gopass-summon-provider --prefix PATH : "${lib.makeBinPath [ gopass ]}"
+  '';
+
+  meta = with lib; {
+    description = "Gopass Summon Provider";
+    homepage = "https://www.gopass.pw/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}