diff options
Diffstat (limited to 'pkgs/tools/misc/rmate-sh/default.nix')
-rw-r--r-- | pkgs/tools/misc/rmate-sh/default.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/tools/misc/rmate-sh/default.nix b/pkgs/tools/misc/rmate-sh/default.nix new file mode 100644 index 0000000000000..7fb51344edd1b --- /dev/null +++ b/pkgs/tools/misc/rmate-sh/default.nix @@ -0,0 +1,54 @@ +{ lib +, stdenv +, fetchFromGitHub +, patsh +, hostname +}: + +stdenv.mkDerivation rec { + pname = "rmate"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "aurora"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-fmK6h9bqZ0zO3HWfZvPdYuZ6i/0HZ1CA3FUnkS+E9ns="; + }; + + nativeBuildInputs = [ patsh ]; + + buildPhase = '' + runHook preBuild + + substituteInPlace rmate \ + --replace \ + 'echo "hostname"' \ + 'echo "${hostname}/bin/hostname"' + patsh -f rmate -s ${builtins.storeDir} + + runHook preBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 rmate $out/bin/rmate + + runHook postInstall + ''; + + meta = with lib; { + description = "Remote TextMate 2 implemented as shell script"; + longDescription = '' + TextMate 2 has a nice feature where it is possible to edit + files on a remote server using a helper script called 'rmate', + which feeds the file back to the editor over a reverse tunnel. + This is a rmate implementation in shell! + ''; + homepage = "https://github.com/aurora/rmate"; + platforms = platforms.linux; + license = licenses.gpl3; + maintainers = with maintainers; [ pbsds ]; + }; +} |