diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/security/gopass')
-rw-r--r-- | nixpkgs/pkgs/tools/security/gopass/default.nix | 75 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/security/gopass/git-credential.nix | 39 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/security/gopass/jsonapi.nix | 40 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/security/gopass/summon.nix | 39 |
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 ]; + }; +} |