about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix b/nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
new file mode 100644
index 000000000000..b45cb24b1b51
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildEnv, fetchurl, mono }:
+
+let
+  version = "1.8.0";
+  drv = stdenv.mkDerivation {
+    name = "keepassrpc-${version}";
+    src = fetchurl {
+      url    = "https://github.com/kee-org/keepassrpc/releases/download/v${version}/KeePassRPC.plgx";
+      sha256 = "1dclfpia559cqf78qw29zz235h1df5md4kgjv3bbi8y41wwmx7cd";
+    };
+
+    meta = with stdenv.lib; {
+      description = "The KeePassRPC plugin that needs to be installed inside KeePass in order for Kee to be able to connect your browser to your passwords";
+      homepage    = https://github.com/kee-org/keepassrpc;
+      platforms   = [ "x86_64-linux" ];
+      license     = licenses.gpl2;
+      maintainers = with maintainers; [ mjanczyk svsdep mgregoire ];
+    };
+
+    pluginFilename = "KeePassRPC.plgx";
+
+    unpackCmd = ''
+      mkdir deps/
+      cp -p $src deps/$pluginFilename
+    '';
+    sourceRoot = "deps";
+
+    installPhase = ''
+      mkdir -p $out/lib/dotnet/keepass/
+      cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename
+    '';
+  };
+in
+  # Mono is required to compile plugin at runtime, after loading.
+  buildEnv { name = drv.name; paths = [ mono drv ]; }