summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/networking/hss/default.nix34
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/tools/networking/hss/default.nix b/pkgs/tools/networking/hss/default.nix
new file mode 100644
index 000000000000..cfc9986b0db8
--- /dev/null
+++ b/pkgs/tools/networking/hss/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildRubyGem, ruby, openssh }:
+
+# Example ~/.hss.yml
+#---
+#patterns:
+#  - note: Basic test
+#    example: g -> github
+#    short: '^g$'
+#    long: 'git@github.com'
+
+buildRubyGem rec {
+  name = "hss-${version}";
+  inherit ruby;
+  gemName = "hss";
+  version = "1.0.1";
+  sha256 = "0hdfpxxqsh6gisn8mm0knsl1aig9fir0h2x9sirk3gr36qbz5xa4";
+
+  postInstall = ''
+   substituteInPlace $GEM_HOME/gems/${gemName}-${version}/bin/hss \
+     --replace \
+       "'ssh'" \
+       "'${openssh}/bin/ssh'"
+  '';
+
+  meta = with lib; {
+    description = ''
+      A SSH helper that uses regex and fancy expansion to dynamically manage SSH shortcuts.
+    '';
+    homepage    = https://github.com/akerl/hss;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ nixy ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 239972e57fa0..f7bc4d31974c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18817,4 +18817,6 @@ with pkgs;
   xib2nib = callPackage ../development/tools/xib2nib {};
 
   linode-cli = callPackage ../tools/virtualization/linode-cli { };
+
+  hss = callPackage ../tools/networking/hss {};
 }