aboutsummaryrefslogtreecommitdiff
path: root/.config/nixpkgs/packages/pass-import/default.nix
diff options
context:
space:
mode:
Diffstat (limited to '.config/nixpkgs/packages/pass-import/default.nix')
-rw-r--r--.config/nixpkgs/packages/pass-import/default.nix61
1 files changed, 61 insertions, 0 deletions
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;
+ };
+}