{ lib, stdenv, buildEnv, fetchurl, mono }: let version = "0.108.0"; drv = stdenv.mkDerivation { pname = "keepass-keetraytotp"; inherit version; src = fetchurl { url = "https://github.com/KeeTrayTOTP/KeeTrayTOTP/releases/download/v${version}/KeeTrayTOTP.plgx"; sha256 = "4f7251a9bbb79cad04aee96d1809c6b36d43285a9f3834fef5330fc97ae8bc09"; }; dontUnpack = true; installPhase = '' mkdir -p $out/lib/dotnet/keepass/ cp $src $out/lib/dotnet/keepass/ ''; meta = with lib; { description = "Augments KeePass with TOTP user interface"; longDescription = '' This KeePass2 plugin adds advanced support for generating Time-based One-Time Passwords (TOTPs) from the KeePass tray icon. It also provides a column in the main entry list to display and/or use TOTPs. TOTPs can also be sent by auto-type. The plugin is compatible with Google, Dropbox, Steam, and many more services. ''; homepage = "https://github.com/KeeTrayTOTP/KeeTrayTOTP"; platforms = [ "aarch64-linux" "i686-linux" "x86_64-linux" ]; license = licenses.gpl3; maintainers = with maintainers; [ nazarewk ]; }; }; in # Mono is required to compile plugin at runtime, after loading. buildEnv { name = drv.name; paths = [ mono drv ]; }