{ lib, stdenv, fetchFromGitHub, python3 }: stdenv.mkDerivation rec { pname = "autojump"; version = "22.5.3"; src = fetchFromGitHub { owner = "wting"; repo = "autojump"; rev = "release-v${version}"; sha256 = "1rgpsh70manr2dydna9da4x7p8ahii7dgdgwir5fka340n1wrcws"; }; buildInputs = [ python3 ]; nativeBuildInputs = [ python3 ]; dontBuild = true; strictDeps = true; installPhase = '' python ./install.py -d "$out" -p "" -z "$out/share/zsh/site-functions/" chmod +x "$out/etc/profile.d/autojump.sh" install -Dt "$out/share/bash-completion/completions/" -m444 "$out/share/autojump/autojump.bash" install -Dt "$out/share/fish/vendor_conf.d/" -m444 "$out/share/autojump/autojump.fish" install -Dt "$out/share/zsh/site-functions/" -m444 "$out/share/autojump/autojump.zsh" ''; meta = with lib; { description = "`cd' command that learns"; mainProgram = "autojump"; longDescription = '' One of the most used shell commands is “cd”. A quick survey among my friends revealed that between 10 and 20% of all commands they type are actually cd commands! Unfortunately, jumping from one part of your system to another with cd requires to enter almost the full path, which isn’t very practical and requires a lot of keystrokes. Autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line. The jstat command shows you the current contents of the database. You need to work a little bit before the database becomes usable. Once your database is reasonably complete, you can “jump” to a directory by typing "j dirspec", where dirspec is a few characters of the directory you want to jump to. It will jump to the most used directory whose name matches the pattern given in dirspec. Autojump supports tab-completion. ''; homepage = "https://github.com/wting/autojump"; license = licenses.gpl3; platforms = platforms.all; maintainers = with maintainers; [ domenkozar yurrriq ]; }; }