summary refs log tree commit diff
path: root/pkgs/tools/misc/zoxide/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/zoxide/default.nix')
-rw-r--r--pkgs/tools/misc/zoxide/default.nix30
1 files changed, 22 insertions, 8 deletions
diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix
index 3e4cbfd8433..a28cf27ab1a 100644
--- a/pkgs/tools/misc/zoxide/default.nix
+++ b/pkgs/tools/misc/zoxide/default.nix
@@ -1,34 +1,48 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , rustPlatform
 , withFzf ? true
 , fzf
+, installShellFiles
+, libiconv
 }:
-let
-  version = "0.4.3";
-in
-rustPlatform.buildRustPackage {
+
+rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  inherit version;
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
     repo = "zoxide";
     rev = "v${version}";
-    sha256 = "1ghdal6pqkp56rqawhj26ch1x4cvnjj032xz3626aiddqgn134zj";
+    sha256 = "sha256-M83J28aG4NACBZtCJzYNU7aYNTJILAboaDv5aAo35OM=";
   };
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+
   postPatch = lib.optionalString withFzf ''
     substituteInPlace src/fzf.rs \
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "0klnjmda77bq9i9f0rz48jzaw4rcf7hafcjjpb0i570d7hlxnwsr";
+  cargoSha256 = "sha256-aF0vdudOFBcDrHpgsS7+HNE70GTNPdBOmbvQhLwmsM0=";
+
+  postInstall = ''
+    installManPage man/*
+    installShellCompletion --cmd zoxide \
+      --bash contrib/completions/zoxide.bash \
+      --fish contrib/completions/zoxide.fish \
+      --zsh contrib/completions/_zoxide
+  '';
 
   meta = with lib; {
     description = "A fast cd command that learns your habits";
     homepage = "https://github.com/ajeetdsouza/zoxide";
+    changelog = "https://github.com/ajeetdsouza/zoxide/raw/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ ysndr cole-h ];
+    maintainers = with maintainers; [ ysndr cole-h SuperSandro2000 ];
   };
 }