diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 76858f3f28b3..443fe780bc0b 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -90,6 +90,7 @@ edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; eikek = "Eike Kettner "; + elasticdog = "Aaron Bull Schaefer "; ellis = "Ellis Whitehead "; emery = "Emery Hemingway "; enolan = "Echo Nolan "; diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 6a365dc69a51..6d832f9778f0 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -71,6 +71,8 @@ rec { tig = callPackage ./tig { }; + transcrypt = callPackage ./transcrypt { }; + hub = import ./hub { inherit go; inherit stdenv fetchgit; diff --git a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix new file mode 100644 index 000000000000..2f42705c2b86 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, git, openssl }: + +stdenv.mkDerivation rec { + name = "transcrypt-0.9.7"; + + src = fetchurl { + url = https://github.com/elasticdog/transcrypt/archive/v0.9.7.tar.gz; + sha256 = "0pgrf74wdc7whvwz7lkkq6qfk38n37dc5668baq7czgckibvjqdh"; + }; + + buildInputs = [ git openssl ]; + + installPhase = '' + install -m 755 -D transcrypt $out/bin/transcrypt + install -m 644 -D man/transcrypt.1 $out/share/man/man1/transcrypt.1 + install -m 644 -D contrib/bash/transcrypt $out/share/bash-completion/completions/transcrypt + install -m 644 -D contrib/zsh/_transcrypt $out/share/zsh/site-functions/_transcrypt + ''; + + meta = with stdenv.lib; { + description = "Transparently encrypt files within a Git repository"; + longDescription = '' + A script to configure transparent encryption of sensitive files stored in + a Git repository. Files that you choose will be automatically encrypted + when you commit them, and automatically decrypted when you check them + out. The process will degrade gracefully, so even people without your + encryption password can safely commit changes to the repository's + non-encrypted files. + ''; + homepage = https://github.com/elasticdog/transcrypt; + license = licenses.mit; + maintainers = [ maintainers.elasticdog ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 759174ce985f..def4b2e52ac2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11664,7 +11664,7 @@ let gitAndTools = recurseIntoAttrs (callPackage ../applications/version-management/git-and-tools {}); - inherit (gitAndTools) git gitFull gitSVN git-cola svn2git git-radar; + inherit (gitAndTools) git gitFull gitSVN git-cola svn2git git-radar transcrypt; gitMinimal = git.override { withManual = false;