1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-01-22 14:45:27 +00:00

Add Autojump, a smart replacement for `cd'.

svn path=/nixpkgs/trunk/; revision=15738
This commit is contained in:
Ludovic Courtès 2009-05-26 22:05:05 +00:00
parent ded055c896
commit 8c2a5ccdcb
2 changed files with 68 additions and 0 deletions

View file

@ -0,0 +1,64 @@
{ fetchurl, stdenv, python }:
let version = "4"; in
stdenv.mkDerivation rec {
name = "autojump-${version}";
src = fetchurl {
url = "http://github.com/joelthelion/autojump/tarball/release-v4";
name = "autojump-${version}.tar.gz";
sha256 = "06hjkdmfhawi6xksangymf9z85ql8d7q0vlcmgsw45vxq7iq1fnp";
};
# FIXME: Appears to be broken with Bash 4.0:
# http://wiki.github.com/joelthelion/autojump/doesnt-seem-to-be-working-with-bash-40 .
patchPhase = ''
sed -i "install.sh" \
-e "s,/usr/,$out/,g ; s,/etc/,/nowhere/,g ; s,sudo,,g"
'';
buildInputs = [ python ];
installPhase = ''
ensureDir "$out/bin" "$out/share/man/man1"
yes no | sh ./install.sh
ensureDir "$out/etc/bash_completion.d"
cp -v autojump.bash "$out/etc/bash_completion.d"
echo "Bash users: Make sure to source \`$out/etc/bash_completion.d/autojump.bash'"
echo "to get the \`j' and \`jumpstat' commands."
# FIXME: What's the right place for `autojump.zsh'?
'';
meta = {
description = "Autojump, a `cd' command that learns";
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 isnt 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 useable. 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 = http://wiki.github.com/joelthelion/autojump;
license = "GPLv3+";
};
}

View file

@ -399,6 +399,10 @@ let
inherit fetchurl stdenv bison flex pam ssmtp;
};
autojump = import ../tools/misc/autojump {
inherit fetchurl stdenv python;
};
avahi =
let qt4Support = getConfig [ "avahi" "qt4Support" ] false;
in