2013-05-05 11:06:05 +02:00
|
|
|
|
{ fetchurl, stdenv, python, bash }:
|
2009-05-27 00:05:05 +02:00
|
|
|
|
|
2015-03-21 09:50:20 +01:00
|
|
|
|
let
|
2015-03-04 17:14:49 +01:00
|
|
|
|
version = "22.2.4";
|
2013-05-05 11:06:05 +02:00
|
|
|
|
in
|
2009-05-27 00:05:05 +02:00
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
|
name = "autojump-${version}";
|
|
|
|
|
|
|
|
|
|
src = fetchurl {
|
2013-05-05 11:06:05 +02:00
|
|
|
|
url = "http://github.com/joelthelion/autojump/archive/release-v${version}.tar.gz";
|
2009-05-27 00:05:05 +02:00
|
|
|
|
name = "autojump-${version}.tar.gz";
|
2015-03-04 17:14:49 +01:00
|
|
|
|
sha256 = "816badb0721f735e2b86bdfa8b333112f3867343c7c2263c569f75b4ec91f475";
|
2009-05-27 00:05:05 +02:00
|
|
|
|
};
|
|
|
|
|
|
2013-05-05 16:24:16 +02:00
|
|
|
|
buildInputs = [ python bash ];
|
2013-05-05 11:06:05 +02:00
|
|
|
|
dontBuild = true;
|
2009-05-27 00:05:05 +02:00
|
|
|
|
|
|
|
|
|
installPhase = ''
|
2015-03-04 17:14:49 +01:00
|
|
|
|
python ./install.py -d $out -p ""
|
2013-09-26 01:17:31 +02:00
|
|
|
|
chmod +x $out/etc/profile.d/*
|
2009-05-27 00:05:05 +02:00
|
|
|
|
|
2012-01-18 21:16:00 +01:00
|
|
|
|
mkdir -p "$out/etc/bash_completion.d"
|
2015-03-04 17:14:49 +01:00
|
|
|
|
cp -v $out/share/autojump/autojump.bash "$out/etc/bash_completion.d"
|
2009-05-27 00:05:05 +02:00
|
|
|
|
|
2016-05-04 12:06:55 +02:00
|
|
|
|
cat <<SCRIPT > $out/bin/autojump-share
|
|
|
|
|
#!/bin/sh
|
|
|
|
|
# Run this script to find the autojump shared folder where all the shell
|
|
|
|
|
# integration scripts are living.
|
|
|
|
|
echo $out/share/autojump
|
|
|
|
|
SCRIPT
|
|
|
|
|
chmod +x $out/bin/autojump-share
|
2009-05-27 00:05:05 +02:00
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
meta = {
|
2013-10-05 16:22:46 +02:00
|
|
|
|
description = "A `cd' command that learns";
|
2009-05-27 00:05:05 +02:00
|
|
|
|
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
|
2014-12-30 03:31:03 +01:00
|
|
|
|
bit before the database becomes usable. Once your database
|
2009-05-27 00:05:05 +02:00
|
|
|
|
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;
|
2013-05-05 12:46:23 +02:00
|
|
|
|
license = stdenv.lib.licenses.gpl3;
|
2013-05-05 11:06:05 +02:00
|
|
|
|
platforms = stdenv.lib.platforms.all;
|
|
|
|
|
maintainers = [ stdenv.lib.maintainers.iElectric ];
|
2009-05-27 00:05:05 +02:00
|
|
|
|
};
|
|
|
|
|
}
|