summary refs log tree commit diff
path: root/pkgs/tools/misc/homesick/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/homesick/default.nix')
-rw-r--r--pkgs/tools/misc/homesick/default.nix28
1 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/tools/misc/homesick/default.nix b/pkgs/tools/misc/homesick/default.nix
new file mode 100644
index 00000000000..9ea54f1f0b3
--- /dev/null
+++ b/pkgs/tools/misc/homesick/default.nix
@@ -0,0 +1,28 @@
+{ lib, bundlerEnv, git}:
+bundlerEnv {
+  name = "homesick-1.1.3";
+
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  # Cannot use `wrapProgram` because the the help is aware of the file name.
+  postInstall = ''
+    rm $out/bin/thor
+    sed 1a'ENV["PATH"] = "${git}/bin:#{ENV["PATH"] ? ":#{ENV["PATH"]}" : "" }"' -i $out/bin/homesick
+  '';
+
+  meta = with lib; {
+    description = "Your home directory is your castle. Don't leave your dotfiles behind.";
+    long_description =
+      ''
+        Homesick is sorta like rip, but for dotfiles. It uses git to clone a repository containing
+        dotfiles, and saves them in ~/.homesick. It then allows you to symlink all the dotfiles into
+        place with a single command.
+      '';
+    homepage = https://github.com/technicalpickles/homesick;
+    license = licenses.mit;
+    maintainers = with maintainers; [ aaronschif ];
+    platforms = platforms.unix;
+  };
+}