aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdro <tdro@users.noreply.github.com>2021-03-28 04:34:33 -0400
committertdro <tdro@users.noreply.github.com>2021-03-28 04:34:33 -0400
commit98a39bcedb1181392fa012cbae792780efea05bb (patch)
tree5215526e93dcc6ecd469e4136e40b5edd9b5b38b
parent782e113bfddd857ebd8876d9b93fc96088569794 (diff)
downloaddotfiles-98a39bcedb1181392fa012cbae792780efea05bb.tar.gz
dotfiles-98a39bcedb1181392fa012cbae792780efea05bb.tar.bz2
dotfiles-98a39bcedb1181392fa012cbae792780efea05bb.zip
.config/nixpkgs: Patch pass-import
https://github.com/roddhjav/pass-import/commit/a8f56cc6a85362ed20f46c1360c87fdd213b890c
-rw-r--r--.config/nixpkgs/config.nix2
-rw-r--r--.config/nixpkgs/packages/pass-import/default.nix61
2 files changed, 62 insertions, 1 deletions
diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix
index dc92e0d..3245d52 100644
--- a/.config/nixpkgs/config.nix
+++ b/.config/nixpkgs/config.nix
@@ -58,7 +58,7 @@ in
(callPackage ./packages/systemd2nix/default.nix {})
(callPackage ./packages/vale-styles/default.nix {})
(callPackage ./packages/youtube-dl/default.nix {})
- (pass.withExtensions (ext: with ext; [ pass-audit pass-import pass-otp ]))
+ (pass.withExtensions (ext: with ext; [ (callPackage ./packages/pass-import/default.nix {}) pass-audit pass-otp ]))
unstable.emacs
unstable.fzf
unstable.hugo
diff --git a/.config/nixpkgs/packages/pass-import/default.nix b/.config/nixpkgs/packages/pass-import/default.nix
new file mode 100644
index 0000000..78dded4
--- /dev/null
+++ b/.config/nixpkgs/packages/pass-import/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, pass, fetchFromGitHub, python38, makeWrapper, fetchpatch }:
+
+with python38.pkgs;
+
+let
+
+ pythonEnv = pythonPackages.python.withPackages (_: [
+ defusedxml
+ setuptools
+ pyaml
+ pykeepass
+ filemagic
+ cryptography
+ secretstorage
+ ]);
+
+in stdenv.mkDerivation rec {
+ pname = "pass-import";
+ version = "a8f56cc6a85362ed20f46c1360c87fdd213b890c";
+
+ src = fetchFromGitHub {
+ owner = "roddhjav";
+ repo = "pass-import";
+ rev = version;
+ sha256 = "0hg40fqnss9n31ns8lc8v1h9hjdw4qjg68xs0hm6c9njabahl1pq";
+ };
+
+ dontBuild = true;
+ buildInputs = [ pythonEnv ];
+ nativeBuildInputs = [ makeWrapper ];
+
+ patches = [
+ # https://github.com/roddhjav/pass-import/pull/91
+ (fetchpatch {
+ url = "https://github.com/roddhjav/pass-import/commit/6ccaf639e92df45bd400503757ae4aa2c5c030d7.patch";
+ sha256 = "0lw9vqvbqcy96s7v7nz0i1bdx93x7qr13azymqypcdhjwmq9i63h";
+ })
+ ];
+
+ postPatch = ''
+ sed -i -e 's|$0|${pass}/bin/pass|' import.bash
+ '';
+
+ installFlags = [ "PREFIX=$(out)" "BASHCOMPDIR=$(out)/etc/bash_completion.d" ];
+
+ postFixup = ''
+ install -D pass_import.py $out/${pythonPackages.python.sitePackages}/pass_import.py
+ wrapProgram $out/lib/password-store/extensions/import.bash \
+ --prefix PATH : "${pythonEnv}/bin" \
+ --prefix PYTHONPATH : "$out/${pythonPackages.python.sitePackages}" \
+ --run "export PREFIX"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Pass extension for importing data from existing password managers";
+ homepage = "https://github.com/roddhjav/pass-import";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher ];
+ platforms = platforms.unix;
+ };
+}