tv: pass -> pass-otp
This commit is contained in:
parent
ced08a58b2
commit
5f3d666229
@ -44,7 +44,7 @@ with import <stockholm/lib>;
|
|||||||
netcup
|
netcup
|
||||||
nmap
|
nmap
|
||||||
p7zip
|
p7zip
|
||||||
pass
|
pass-otp
|
||||||
q
|
q
|
||||||
qrencode
|
qrencode
|
||||||
texlive.combined.scheme-full
|
texlive.combined.scheme-full
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
{ stdenv, fetchFromGitHub, oathToolkit }:
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "pass-otp-${version}";
|
|
||||||
version = "1.1.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "tadfisher";
|
|
||||||
repo = "pass-otp";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "1cgj4zc8fq88n3h6c0vkv9i5al785mdprpgpbv5m22dz9p1wqvbb";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ oathToolkit ];
|
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
make PREFIX=$out install
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A pass extension for managing one-time-password (OTP) tokens";
|
|
||||||
homepage = https://github.com/tadfisher/pass-otp;
|
|
||||||
license = licenses.gpl3;
|
|
||||||
maintainers = with maintainers; [ jwiegley tadfisher ];
|
|
||||||
platforms = platforms.unix;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,121 +0,0 @@
|
|||||||
{ stdenv, lib, fetchurl, fetchFromGitHub
|
|
||||||
, coreutils, gnused, getopt, git, tree, gnupg, which, procps, qrencode
|
|
||||||
, makeWrapper
|
|
||||||
|
|
||||||
, pass-otp
|
|
||||||
|
|
||||||
, xclip ? null, xdotool ? null, dmenu ? null
|
|
||||||
, x11Support ? !stdenv.isDarwin
|
|
||||||
, tombPluginSupport ? false, tomb
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
assert x11Support -> xclip != null
|
|
||||||
&& xdotool != null
|
|
||||||
&& dmenu != null;
|
|
||||||
|
|
||||||
let
|
|
||||||
plugins = map (p: (fetchFromGitHub {
|
|
||||||
owner = "roddhjav";
|
|
||||||
repo = "pass-${p.name}";
|
|
||||||
inherit (p) rev sha256;
|
|
||||||
}))
|
|
||||||
([
|
|
||||||
{ name = "import";
|
|
||||||
rev = "491935bd275f29ceac2b876b3a288011d1ce31e7";
|
|
||||||
sha256 = "02mbh05ab8h7kc30hz718d1d1vkjz43b96c7p0xnd92610d2q66q"; }
|
|
||||||
{ name = "update";
|
|
||||||
rev = "cf576c9036fd18efb9ed29e0e9f811207b556fde";
|
|
||||||
sha256 = "1hhbrg6a2walrvla6q4cd3pgrqbcrf9brzjkb748735shxfn52hd"; }
|
|
||||||
] ++ stdenv.lib.optional tombPluginSupport {
|
|
||||||
name = "tomb";
|
|
||||||
rev = "3368134898a42c1b758fabac625ec240e125c6be";
|
|
||||||
sha256 = "0qqmxfg4w3r088qhlkhs44036mya82vjflsjjhw2hk8y0wd2i6ds"; }
|
|
||||||
);
|
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
|
||||||
version = "1.7.2";
|
|
||||||
name = "password-store-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz";
|
|
||||||
sha256 = "1sl0d7nc85c6c2bmmmyb8rpmn47vhkj831l153mjlkawjvhwas27";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [ ./set-correct-program-name-for-sleep.patch
|
|
||||||
] ++ stdenv.lib.optional stdenv.isDarwin ./no-darwin-getopt.patch;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# plugins
|
|
||||||
${stdenv.lib.concatStringsSep "\n" (map (plugin: ''
|
|
||||||
pushd ${plugin}
|
|
||||||
PREFIX=$out make install
|
|
||||||
popd
|
|
||||||
'') plugins)}
|
|
||||||
|
|
||||||
ln -s \
|
|
||||||
${pass-otp}/lib/password-store/extensions/otp.bash \
|
|
||||||
$out/lib/password-store/extensions/
|
|
||||||
|
|
||||||
ln -s \
|
|
||||||
${pass-otp}/share/man/man1/pass-otp.1.gz \
|
|
||||||
$out/share/man/man1/
|
|
||||||
|
|
||||||
# Install Emacs Mode. NOTE: We can't install the necessary
|
|
||||||
# dependencies (s.el and f.el) here. The user has to do this
|
|
||||||
# himself.
|
|
||||||
mkdir -p "$out/share/emacs/site-lisp"
|
|
||||||
cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
|
|
||||||
'' + optionalString x11Support ''
|
|
||||||
cp "contrib/dmenu/passmenu" "$out/bin/"
|
|
||||||
'';
|
|
||||||
|
|
||||||
wrapperPath = with stdenv.lib; makeBinPath ([
|
|
||||||
coreutils
|
|
||||||
getopt
|
|
||||||
git
|
|
||||||
gnupg
|
|
||||||
gnused
|
|
||||||
tree
|
|
||||||
which
|
|
||||||
qrencode
|
|
||||||
] ++ optional tombPluginSupport tomb
|
|
||||||
++ optional stdenv.isLinux procps
|
|
||||||
++ ifEnable x11Support [ dmenu xclip xdotool ]);
|
|
||||||
|
|
||||||
postFixup = ''
|
|
||||||
# Fix program name in --help
|
|
||||||
substituteInPlace $out/bin/pass \
|
|
||||||
--replace 'PROGRAM="''${0##*/}"' "PROGRAM=pass"
|
|
||||||
|
|
||||||
# Ensure all dependencies are in PATH
|
|
||||||
wrapProgram $out/bin/pass \
|
|
||||||
--prefix PATH : "${wrapperPath}"
|
|
||||||
'' + stdenv.lib.optionalString x11Support ''
|
|
||||||
# We just wrap passmenu with the same PATH as pass. It doesn't
|
|
||||||
# need all the tools in there but it doesn't hurt either.
|
|
||||||
wrapProgram $out/bin/passmenu \
|
|
||||||
--prefix PATH : "$out/bin:${wrapperPath}"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Stores, retrieves, generates, and synchronizes passwords securely";
|
|
||||||
homepage = https://www.passwordstore.org/;
|
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
maintainers = with maintainers; [ lovek323 the-kenny fpletz ];
|
|
||||||
platforms = platforms.unix;
|
|
||||||
|
|
||||||
longDescription = ''
|
|
||||||
pass is a very simple password store that keeps passwords inside gpg2
|
|
||||||
encrypted files inside a simple directory tree residing at
|
|
||||||
~/.password-store. The pass utility provides a series of commands for
|
|
||||||
manipulating the password store, allowing the user to add, remove, edit,
|
|
||||||
synchronize, generate, and manipulate passwords.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
diff -Naur password-store-1.6.5-orig/src/platform/darwin.sh password-store-1.6.5/src/platform/darwin.sh
|
|
||||||
--- password-store-1.6.5-orig/src/platform/darwin.sh 2015-01-28 16:43:02.000000000 +0000
|
|
||||||
+++ password-store-1.6.5/src/platform/darwin.sh 2015-02-15 16:09:02.000000000 +0000
|
|
||||||
@@ -31,5 +31,4 @@
|
|
||||||
mount -t hfs -o noatime -o nobrowse "$DARWIN_RAMDISK_DEV" "$SECURE_TMPDIR" || die "Error: could not mount filesystem on ramdisk."
|
|
||||||
}
|
|
||||||
|
|
||||||
-GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || { which port &>/dev/null && echo /opt/local; } || echo /usr/local)/bin/getopt"
|
|
||||||
SHRED="srm -f -z"
|
|
@ -1,57 +0,0 @@
|
|||||||
{ stdenv, fetchFromGitHub, pass, rofi, coreutils, utillinux, xdotool, gnugrep
|
|
||||||
, libnotify, pwgen, findutils, gawk, gnused, xclip, makeWrapper
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "rofi-pass-${version}";
|
|
||||||
version = "1.5.3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "carnager";
|
|
||||||
repo = "rofi-pass";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "1fn1j2rf3abc5qb44zfc8z8ffw6rva4xfp7597hwr1g3szacazpq";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp -a rofi-pass $out/bin/rofi-pass
|
|
||||||
|
|
||||||
mkdir -p $out/share/doc/rofi-pass/
|
|
||||||
cp -a config.example $out/share/doc/rofi-pass/config.example
|
|
||||||
'';
|
|
||||||
|
|
||||||
wrapperPath = with stdenv.lib; makeBinPath [
|
|
||||||
coreutils
|
|
||||||
findutils
|
|
||||||
gawk
|
|
||||||
gnugrep
|
|
||||||
gnused
|
|
||||||
libnotify
|
|
||||||
pass
|
|
||||||
pwgen
|
|
||||||
rofi
|
|
||||||
utillinux
|
|
||||||
xclip
|
|
||||||
xdotool
|
|
||||||
];
|
|
||||||
|
|
||||||
fixupPhase = ''
|
|
||||||
patchShebangs $out/bin
|
|
||||||
|
|
||||||
wrapProgram $out/bin/rofi-pass \
|
|
||||||
--prefix PATH : "${wrapperPath}"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "A script to make rofi work with password-store";
|
|
||||||
homepage = https://github.com/carnager/rofi-pass;
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ the-kenny garbas ];
|
|
||||||
license = stdenv.lib.licenses.gpl3;
|
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,69 +0,0 @@
|
|||||||
From 25b44e00ed5df8ffe2782d38ad5cd9f514379599 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Andrew R. M" <andrewmiller237@gmail.com>
|
|
||||||
Date: Sat, 8 Apr 2017 13:50:01 -0400
|
|
||||||
Subject: [PATCH] Patch the clip() function to work even when using
|
|
||||||
single-binary coreutils
|
|
||||||
|
|
||||||
---
|
|
||||||
src/password-store.sh | 4 ++--
|
|
||||||
src/platform/cygwin.sh | 4 ++--
|
|
||||||
src/platform/darwin.sh | 4 ++--
|
|
||||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/password-store.sh b/src/password-store.sh
|
|
||||||
index 6a4172d..4dbd6b8 100755
|
|
||||||
--- a/src/password-store.sh
|
|
||||||
+++ b/src/password-store.sh
|
|
||||||
@@ -155,11 +155,11 @@ clip() {
|
|
||||||
# variable. Specifically, it cannot store nulls nor (non-trivally) store
|
|
||||||
# trailing new lines.
|
|
||||||
local sleep_argv0="password store sleep on display $DISPLAY"
|
|
||||||
- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
|
|
||||||
+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
|
|
||||||
local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | base64)"
|
|
||||||
echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard"
|
|
||||||
(
|
|
||||||
- ( exec -a "$sleep_argv0" bash <<<"trap 'kill %1' TERM; sleep '$CLIP_TIME' & wait" )
|
|
||||||
+ ( exec -a "$sleep_argv0" bash <(echo trap 'kill %1' TERM\; sleep "$CLIP_TIME & wait") )
|
|
||||||
local now="$(xclip -o -selection "$X_SELECTION" | base64)"
|
|
||||||
[[ $now != $(echo -n "$1" | base64) ]] && before="$now"
|
|
||||||
|
|
||||||
diff --git a/src/platform/cygwin.sh b/src/platform/cygwin.sh
|
|
||||||
index 6e5dd86..f3574c4 100644
|
|
||||||
--- a/src/platform/cygwin.sh
|
|
||||||
+++ b/src/platform/cygwin.sh
|
|
||||||
@@ -3,11 +3,11 @@
|
|
||||||
|
|
||||||
clip() {
|
|
||||||
local sleep_argv0="password store sleep on display $DISPLAY"
|
|
||||||
- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
|
|
||||||
+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
|
|
||||||
local before="$(base64 < /dev/clipboard)"
|
|
||||||
echo -n "$1" > /dev/clipboard
|
|
||||||
(
|
|
||||||
- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
|
|
||||||
+ ( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") )
|
|
||||||
local now="$(base64 < /dev/clipboard)"
|
|
||||||
[[ $now != $(echo -n "$1" | base64) ]] && before="$now"
|
|
||||||
echo "$before" | base64 -d > /dev/clipboard
|
|
||||||
diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
|
|
||||||
index 86eb325..deb04c4 100644
|
|
||||||
--- a/src/platform/darwin.sh
|
|
||||||
+++ b/src/platform/darwin.sh
|
|
||||||
@@ -3,11 +3,11 @@
|
|
||||||
|
|
||||||
clip() {
|
|
||||||
local sleep_argv0="password store sleep for user $(id -u)"
|
|
||||||
- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
|
|
||||||
+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
|
|
||||||
local before="$(pbpaste | openssl base64)"
|
|
||||||
echo -n "$1" | pbcopy
|
|
||||||
(
|
|
||||||
- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
|
|
||||||
+ ( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") )
|
|
||||||
local now="$(pbpaste | openssl base64)"
|
|
||||||
[[ $now != $(echo -n "$1" | openssl base64) ]] && before="$now"
|
|
||||||
echo "$before" | openssl base64 -d | pbcopy
|
|
||||||
--
|
|
||||||
2.12.2
|
|
||||||
|
|
@ -40,14 +40,4 @@ foldl' mergeAttrs {}
|
|||||||
|
|
||||||
gnupg = self.gnupg22;
|
gnupg = self.gnupg22;
|
||||||
|
|
||||||
pass = {
|
|
||||||
"18.03" =
|
|
||||||
self.callPackage ./compat/18.03/pass {
|
|
||||||
pass-otp = self.callPackage ./compat/18.03/pass-otp {};
|
|
||||||
};
|
|
||||||
}.${versions.majorMinor version} or
|
|
||||||
super.pass.withExtensions (ext: [
|
|
||||||
ext.pass-otp
|
|
||||||
]);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ coreutils, dash, gnused, fzf, pass, runCommand, rxvt_unicode, stdenv, utillinux, xdotool }:
|
{ coreutils, dash, gnused, fzf, pass-otp, runCommand, rxvt_unicode, stdenv, utillinux, xdotool }:
|
||||||
|
|
||||||
runCommand "fzmenu" {
|
runCommand "fzmenu" {
|
||||||
} /* sh */ ''
|
} /* sh */ ''
|
||||||
@ -13,7 +13,7 @@ runCommand "fzmenu" {
|
|||||||
dash
|
dash
|
||||||
fzf
|
fzf
|
||||||
gnused
|
gnused
|
||||||
pass
|
pass-otp
|
||||||
rxvt_unicode
|
rxvt_unicode
|
||||||
utillinux
|
utillinux
|
||||||
xdotool
|
xdotool
|
||||||
@ -26,7 +26,7 @@ runCommand "fzmenu" {
|
|||||||
dash
|
dash
|
||||||
fzf
|
fzf
|
||||||
gnused
|
gnused
|
||||||
pass
|
pass-otp
|
||||||
rxvt_unicode
|
rxvt_unicode
|
||||||
utillinux
|
utillinux
|
||||||
xdotool
|
xdotool
|
||||||
|
Loading…
Reference in New Issue
Block a user