diff --git a/pkgs/tools/misc/rmate-sh/default.nix b/pkgs/tools/misc/rmate-sh/default.nix new file mode 100644 index 00000000000..7fb51344edd --- /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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5371bc6b779..4bf6d55a71c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5289,6 +5289,8 @@ with pkgs; rmapi = callPackage ../applications/misc/remarkable/rmapi { }; + rmate-sh = callPackage ../tools/misc/rmate-sh { }; + rmview = libsForQt5.callPackage ../applications/misc/remarkable/rmview { }; rm-improved = callPackage ../applications/misc/rm-improved { };