diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/1password/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/misc/1password/default.nix | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/1password/default.nix b/nixpkgs/pkgs/applications/misc/1password/default.nix new file mode 100644 index 000000000000..5e027fcdf04b --- /dev/null +++ b/nixpkgs/pkgs/applications/misc/1password/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchzip, autoPatchelfHook, fetchurl, xar, cpio }: + +stdenv.mkDerivation rec { + pname = "1password"; + version = "1.0.0"; + src = + if stdenv.hostPlatform.system == "i686-linux" then + fetchzip { + url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip"; + sha256 = "1d1lxmrmirh3837zib91dmxblb4imdz8gbq56pb7kgbff3zf96ql"; + stripRoot = false; + } + else if stdenv.hostPlatform.system == "x86_64-linux" then + fetchzip { + url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip"; + sha256 = "0pscm61dc69vmkrzrnxi531d37ig9y48w8q1lvzsg13zvvwaw8hs"; + stripRoot = false; + } + else if stdenv.hostPlatform.system == "x86_64-darwin" then + fetchurl { + url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.pkg"; + sha256 = "1sb5qdssasqm7z7j4xzgkmkgf132zhgm93d7rkx3y5j0rac98y0g"; + } + else throw "Architecture not supported"; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ xar cpio ]; + + unpackPhase = stdenv.lib.optionalString stdenv.isDarwin '' + xar -xf $src + zcat Payload | cpio -i + ''; + + installPhase = '' + install -D op $out/bin/op + ''; + + dontStrip = stdenv.isDarwin; + + nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ autoPatchelfHook ]; + + doInstallCheck = true; + + installCheckPhase = '' + $out/bin/op --version + ''; + + meta = with stdenv.lib; { + description = "1Password command-line tool"; + homepage = "https://support.1password.com/command-line/"; + downloadPage = "https://app-updates.agilebits.com/product_history/CLI"; + maintainers = with maintainers; [ joelburget marsam ]; + license = licenses.unfree; + platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; + }; +} |