linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / tools / misc / autojump / default.nix
blob47c4cbcb4e744f96f6994c81096e92798cc6a4d4
1 { lib, stdenv, fetchFromGitHub, python3, bash }:
3 stdenv.mkDerivation rec {
4   pname = "autojump";
5   version = "22.5.3";
7   src = fetchFromGitHub {
8     owner = "wting";
9     repo = "autojump";
10     rev = "release-v${version}";
11     sha256 = "1rgpsh70manr2dydna9da4x7p8ahii7dgdgwir5fka340n1wrcws";
12   };
14   buildInputs = [ python3 bash ];
15   dontBuild = true;
17   installPhase = ''
18     python ./install.py -d "$out" -p "" -z "$out/share/zsh/site-functions/"
20     chmod +x "$out/etc/profile.d/autojump.sh"
21     install -Dt "$out/share/bash-completion/completions/" -m444 "$out/share/autojump/autojump.bash"
22     install -Dt "$out/share/fish/vendor_conf.d/" -m444 "$out/share/autojump/autojump.fish"
23     install -Dt "$out/share/zsh/site-functions/" -m444 "$out/share/autojump/autojump.zsh"
24   '';
26   meta = with lib; {
27     description = "A `cd' command that learns";
28     longDescription = ''
29       One of the most used shell commands is “cd”.  A quick survey
30       among my friends revealed that between 10 and 20% of all
31       commands they type are actually cd commands! Unfortunately,
32       jumping from one part of your system to another with cd
33       requires to enter almost the full path, which isn’t very
34       practical and requires a lot of keystrokes.
36       Autojump is a faster way to navigate your filesystem.  It
37       works by maintaining a database of the directories you use the
38       most from the command line.  The jstat command shows you the
39       current contents of the database.  You need to work a little
40       bit before the database becomes usable.  Once your database
41       is reasonably complete, you can “jump” to a directory by
42       typing "j dirspec", where dirspec is a few characters of the
43       directory you want to jump to.  It will jump to the most used
44       directory whose name matches the pattern given in dirspec.
46       Autojump supports tab-completion.
47     '';
48     homepage = "https://github.com/wting/autojump";
49     license = licenses.gpl3;
50     platforms = platforms.all;
51     maintainers = with maintainers; [ domenkozar yurrriq ];
52   };