about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoman Volosatovs <rvolosatovs@riseup.net>2020-04-05 20:36:26 +0200
committerRoman Volosatovs <rvolosatovs@riseup.net>2020-05-05 20:38:29 +0200
commit67f7f93fd67eb8acf37afe096ad330cbd7f6e505 (patch)
tree8f65ca23d012e69954dbb20c247f5ae75ec800b7
parentd9f4f0645ccbf537d56fdb357f1664372fe493c7 (diff)
downloadnixlib-67f7f93fd67eb8acf37afe096ad330cbd7f6e505.tar
nixlib-67f7f93fd67eb8acf37afe096ad330cbd7f6e505.tar.gz
nixlib-67f7f93fd67eb8acf37afe096ad330cbd7f6e505.tar.bz2
nixlib-67f7f93fd67eb8acf37afe096ad330cbd7f6e505.tar.lz
nixlib-67f7f93fd67eb8acf37afe096ad330cbd7f6e505.tar.xz
nixlib-67f7f93fd67eb8acf37afe096ad330cbd7f6e505.tar.zst
nixlib-67f7f93fd67eb8acf37afe096ad330cbd7f6e505.zip
gopass: Support passAlias parameter in derivation
Add a `passAlias` to `gopass` derivation, similarly to how there's `viAlias` parameter supported by vim/neovim derivations.
Apart from convenience this is also necessary for e.g. making `docker-credential-helpers` work without patching the latter - the package uses `pass` executable from `PATH` https://github.com/docker/docker-credential-helpers/blob/f78081d1f7fef6ad74ad6b79368de6348386e591/pass/pass_linux.go#L67. By setting `passAlias` to `true` (e.g. via overlays like so: https://github.com/rvolosatovs/infrastructure/blob/94971f34db9df79b6666e626fa52840eb1fee840/nixpkgs/overlays.nix#L315-L317), secure Docker authentication via `gopass` "just works"™
-rw-r--r--pkgs/tools/security/gopass/default.nix11
1 files changed, 10 insertions, 1 deletions
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index 410b63ec7d75..d7db6ea825ca 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -1,4 +1,11 @@
-{ stdenv, buildGoModule, fetchFromGitHub, git, gnupg, xclip, wl-clipboard, installShellFiles, makeWrapper }:
+{ stdenv, makeWrapper
+, buildGoModule, fetchFromGitHub, installShellFiles
+, git
+, gnupg
+, xclip
+, wl-clipboard
+, passAlias ? false
+}:
 
 buildGoModule rec {
   pname = "gopass";
@@ -28,6 +35,8 @@ buildGoModule rec {
       $out/bin/gopass completion $shell > gopass.$shell
       installShellCompletion gopass.$shell
     done
+  '' + stdenv.lib.optionalString passAlias ''
+    ln -s $bin/bin/gopass $bin/bin/pass
   '';
 
   postFixup = ''