diff --git a/.bash_profile b/.bash_profile
index b6c3855..cb65e27 100644
--- a/.bash_profile
+++ b/.bash_profile
@@ -12,7 +12,6 @@ export PATH=~/.local/bin:$PATH
export HASTE_SERVER="https://haste.breizh.pm"
export MPD_HOST="$HOME/.mpd/socket"
-export KRESUS_PYTHON_EXEC=python
export MAGICK_TMPDIR="$HOME/.cache/ImageMagick/"
export HIGHLIGHT_STYLE="base16/eighties"
diff --git a/.config/fish/conf.d/br.fish b/.config/fish/conf.d/br.fish
new file mode 120000
index 0000000..daeb938
--- /dev/null
+++ b/.config/fish/conf.d/br.fish
@@ -0,0 +1 @@
+/home/breizh/.local/share/broot/launcher/fish/1.fish
\ No newline at end of file
diff --git a/.config/fish/functions/mv.fish b/.config/fish/functions/mv.fish
new file mode 100644
index 0000000..62d1bf8
--- /dev/null
+++ b/.config/fish/functions/mv.fish
@@ -0,0 +1,4 @@
+# Defined in - @ line 1
+function mv --description 'alias mv advmv -g'
+ advmv -g $argv;
+end
diff --git a/.config/fish/functions/màj.fish b/.config/fish/functions/màj.fish
new file mode 100644
index 0000000..629f7f1
--- /dev/null
+++ b/.config/fish/functions/màj.fish
@@ -0,0 +1,4 @@
+# Defined in - @ line 1
+function màj --wraps='pikaur -Syu' --description 'alias màj pikaur -Syu'
+ pikaur -Syu $argv;
+end
diff --git a/.config/fisherman/await/LICENSE b/.config/fisherman/await/LICENSE
new file mode 100644
index 0000000..1a6e9b2
--- /dev/null
+++ b/.config/fisherman/await/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 Jorge Bucaran
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/.config/fisherman/await/README.md b/.config/fisherman/await/README.md
new file mode 100644
index 0000000..a721d4e
--- /dev/null
+++ b/.config/fisherman/await/README.md
@@ -0,0 +1,50 @@
+[slack-link]: https://fisherman-wharf.herokuapp.com/
+[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg
+[fisherman]: https://github.com/fisherman/fisherman
+
+[![Slack Room][slack-badge]][slack-link]
+
+# Await
+
+Wait for background jobs.
+
+## Install
+
+With [fisherman]
+
+```
+fisher await
+```
+
+## Usage
+
+Wait until all existing jobs have finished.
+
+```fish
+await
+```
+
+Wait until the given jobs are finished.
+
+```fish
+set -l id_list
+
+for cmd in $commands
+ fish -c "$cmd" &
+ set id_list $id_list (last_job_id -l)
+end
+
+await $id_list
+```
+
+Customize spinners.
+
+```fish
+set await_spinners ◢ ◣ ◤ ◥
+```
+
+Customize interval between spinners.
+
+```fish
+set await_interval 0.1
+```
diff --git a/.config/fisherman/await/fishfile b/.config/fisherman/await/fishfile
new file mode 100644
index 0000000..2bf9f68
--- /dev/null
+++ b/.config/fisherman/await/fishfile
@@ -0,0 +1 @@
+fisherman/last_job_id
diff --git a/.config/fisherman/await/functions/await.fish b/.config/fisherman/await/functions/await.fish
new file mode 100644
index 0000000..9b7d13f
--- /dev/null
+++ b/.config/fisherman/await/functions/await.fish
@@ -0,0 +1,42 @@
+function await -d "Wait for background jobs"
+ if test -z "$argv"
+ set argv (last_job_id)
+ end
+
+ set -l spinners "$await_spinners"
+ set -l interval "$await_interval"
+
+ if test -z "$spinners"
+ set spinners ⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏
+ end
+
+ if test -z "$interval"
+ set interval 0.05
+ end
+
+ while true
+ for spinner in $spinners
+ printf " $spinner \r" > /dev/stderr
+ sleep "$interval"
+ end
+
+ set -l currently_active_jobs (last_job_id)
+
+ if test -z "$currently_active_jobs"
+ break
+ end
+
+ set -l has_jobs
+
+ for i in $argv
+ if builtin contains -- $i $currently_active_jobs
+ set has_jobs "*"
+ break
+ end
+ end
+
+ if test -z "$has_jobs"
+ break
+ end
+ end
+end
diff --git a/.config/fisherman/getopts/.travis.yml b/.config/fisherman/getopts/.travis.yml
new file mode 100644
index 0000000..1c567cc
--- /dev/null
+++ b/.config/fisherman/getopts/.travis.yml
@@ -0,0 +1,8 @@
+sudo: required
+before_install:
+ - sudo add-apt-repository -y ppa:fish-shell/release-2
+ - sudo apt-get update
+ - sudo apt-get -y install fish
+script:
+ - curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman
+ - fish -c "fisher fishtape .; fishtape test/*.fish"
diff --git a/.config/fisherman/getopts/LICENSE b/.config/fisherman/getopts/LICENSE
new file mode 100644
index 0000000..18d9835
--- /dev/null
+++ b/.config/fisherman/getopts/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Jorge Bucaran
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/.config/fisherman/getopts/README.md b/.config/fisherman/getopts/README.md
new file mode 100644
index 0000000..7084a1b
--- /dev/null
+++ b/.config/fisherman/getopts/README.md
@@ -0,0 +1,78 @@
+[![Build Status][travis-badge]][travis-link]
+[![Slack Room][slack-badge]][slack-link]
+
+# Getopts
+
+**Getopts** is a command line options parser for [fish].
+
+```fish
+getopts -ab1 --foo=bar baz | while read -l key value
+ switch $key
+ case _
+ echo "$value" # baz
+ case a
+ echo "$value" # ""
+ case b
+ echo "$value" # 1
+ case foo
+ echo "$value" # bar
+ end
+end
+```
+
+## Install
+
+With [fisherman]
+
+```
+fisher getopts
+```
+
+With curl.
+
+```sh
+curl -Lo ~/.config/fish/functions/getopts.fish --create-dirs git.io/getopts
+```
+
+## Usage
+
+Study the output in the following example
+
+```fish
+getopts -ab1 --foo=bar baz
+```
+
+```
+a
+b 1
+foo bar
+_ baz
+```
+
+The items on the left are the option flags. The items on the right are the option values. The underscore `_` character is the default *key* for bare arguments.
+
+Use read(1) to process the generated stream and switch(1) to match patterns
+
+```fish
+getopts -ab1 --foo=bar baz | while read -l key option
+ switch $key
+ case _
+ case a
+ case b
+ case foo
+ end
+end
+```
+
+## Notes
+
+* A double dash, `--`, marks the end of options. Arguments after this sequence are placed in the default underscore key, `_`.
+
+[travis-link]: https://travis-ci.org/fisherman/getopts
+[travis-badge]: https://img.shields.io/travis/fisherman/getopts.svg
+
+[slack-link]: https://fisherman-wharf.herokuapp.com
+[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg
+
+[fish]: https://fishshell.com
+[fisherman]: https://github.com/fisherman/fisherman
diff --git a/.config/fisherman/getopts/getopts.fish b/.config/fisherman/getopts/getopts.fish
new file mode 100644
index 0000000..9d51151
--- /dev/null
+++ b/.config/fisherman/getopts/getopts.fish
@@ -0,0 +1,82 @@
+function getopts -d "cli parser"
+ if not set -q argv[1]
+ return
+ end
+
+ printf "%s\n" $argv | awk '
+ function out(k,v) {
+ print(k "" (v == "" ? "" : " "v))
+ }
+
+ function pop() {
+ return len <= 0 ? "_" : opt[len--]
+ }
+
+ {
+ if (done) {
+ out("_" , $0)
+ next
+ }
+
+ if (match($0, "^-[A-Za-z]+")) {
+ $0 = "- " substr($0, 2, RLENGTH - 1) " " substr($0, RLENGTH + 1)
+
+ } else if (match($0, "^--[A-Za-z0-9_-]+")) {
+ $0 = "-- " substr($0, 3, RLENGTH - 2) " " substr($0, RLENGTH + 2)
+ }
+
+ if ($1 == "--" && $2 == "") {
+ done = 1
+
+ } else if ($2 == "" || $1 !~ /^-|^--/ ) {
+ out(pop(), $0)
+
+ } else {
+ while (len) {
+ out(pop())
+ }
+
+ if ($3 != "") {
+ if (match($0, $2)) {
+ $3 = substr($0, RSTART + RLENGTH + 1)
+ }
+ }
+
+ if ($1 == "--") {
+ if ($3 == "") {
+ opt[++len] = $2
+ } else {
+ out($2, $3)
+ }
+ }
+
+ if ($1 == "-") {
+ if ($2 == "") {
+ print($1)
+ next
+
+ } else {
+ n = split($2, keys, "")
+ }
+
+ if ($3 == "") {
+ opt[++len] = keys[n]
+
+ } else {
+ out(keys[n], $3)
+ }
+
+ for (i = 1; i < n; i++) {
+ out(keys[i])
+ }
+ }
+ }
+ }
+
+ END {
+ while (len) {
+ out(pop())
+ }
+ }
+'
+end
diff --git a/.config/fisherman/getopts/man/man1/getopts.1 b/.config/fisherman/getopts/man/man1/getopts.1
new file mode 100644
index 0000000..0c854f2
--- /dev/null
+++ b/.config/fisherman/getopts/man/man1/getopts.1
@@ -0,0 +1,69 @@
+.
+.TH "GETOPTS" "1" "February 2016" "" "fisherman"
+.
+.SH "NAME"
+\fBgetopts\fR \- Command line options parser
+.
+.SH "SYNOPSIS"
+getopts \fIoptions\fR \.\.\.
+.
+.br
+.
+.SH "DESCRIPTION"
+\fBGetopts\fR is a command line options parser for fish\.
+.
+.SH "USAGE"
+Study the output in the following example
+.
+.IP "" 4
+.
+.nf
+
+getopts \-ab1 \-\-foo=bar baz
+.
+.fi
+.
+.IP "" 0
+.
+.IP "" 4
+.
+.nf
+
+a
+b 1
+foo bar
+_ baz
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The items on the left are the option flags\. The items on the right are the option values\. The underscore \fB_\fR character is the default \fIkey\fR for bare arguments\.
+.
+.P
+Use read(1) to process the generated stream and switch(1) to match patterns
+.
+.IP "" 4
+.
+.nf
+
+getopts \-ab1 \-\-foo=bar baz | while read \-l key option
+ switch $key
+ case _
+ case a
+ case b
+ case foo
+ end
+end
+.
+.fi
+.
+.IP "" 0
+.
+.SH "NOTES"
+.
+.IP "\(bu" 4
+A double dash, \fB\-\-\fR, marks the end of options\. Arguments after this sequence are placed in the default underscore key, \fB_\fR\.
+.
+.IP "" 0
diff --git a/.config/fisherman/getopts/test/getopts.fish b/.config/fisherman/getopts/test/getopts.fish
new file mode 100644
index 0000000..67549cc
--- /dev/null
+++ b/.config/fisherman/getopts/test/getopts.fish
@@ -0,0 +1,104 @@
+test "only bare"
+ "_ beer" = (getopts beer)
+end
+
+test "bare and bare"
+ "_ bar" "_ beer" = (getopts bar beer)
+end
+
+test "bare first"
+ "foo" "_ beer" = (getopts beer --foo)
+end
+
+test "bare sequence"
+ "_ foo" "_ bar" "_ baz" "_ quux" = (getopts foo bar baz quux)
+end
+
+test "bare does not end opts"
+ "a" "b 42" "_ beer" "foo" "bar" = (getopts -ab42 beer --foo --bar)
+end
+
+test "only single"
+ "f" "o" "o 42" = (getopts -foo42)
+end
+
+test "single and single"
+ "a" "b" "c" "x" "y" "z" = (getopts -abc -xyz)
+end
+
+test "single and bare"
+ "a" "b" "c bar" = (getopts -abc bar)
+end
+
+test "single and value"
+ "a bar" = (getopts -a bar)
+end
+
+test "single w/ value and bare"
+ "a" "b" "c ./" "_ bar" = (getopts -abc./ bar)
+end
+
+test "single and double"
+ "a" "b" "c" "foo" = (getopts -abc --foo)
+end
+
+test "double"
+ "foo" = (getopts --foo)
+end
+
+test "double w/ value"
+ "foo bar" = (getopts --foo=bar)
+end
+
+test "double w/ value group"
+ "foo bar" "bar foo" = (getopts --foo=bar --bar=foo)
+end
+
+test "double w/ value and bare"
+ "foo bar" "_ beer" = (getopts --foo=bar beer)
+end
+
+test "double double"
+ "foo" "bar" = (getopts --foo --bar)
+end
+
+test "double w/ inner dashes"
+ "foo-bar-baz" = (getopts --foo-bar-baz)
+end
+
+test "double and single"
+ "foo" "a" "b" "c" = (getopts --foo -abc)
+end
+
+test "multiple double sequence"
+ "foo" "bar" "secret 42" "_ baz" = (getopts --foo --bar --secret=42 baz)
+end
+
+test "single double single w/ remaining bares"
+ "f" "o" "o" "bar" "b" "a" "r norf" "_ baz" "_ quux" = (
+ getopts -foo --bar -bar norf baz quux)
+end
+
+test "double dash"
+ "_ --foo" "_ bar" = (getopts -- --foo bar)
+end
+
+test "single double dash"
+ "a" "_ --foo" "_ bar" = (getopts -a -- --foo bar)
+end
+
+test "bare and double dash"
+ "foo bar" "_ baz" "_ foo" "_ --foo" = (getopts --foo=bar baz -- foo --foo)
+end
+
+test "long string as a value"
+ "f Fee fi fo fum" = (getopts -f "Fee fi fo fum")
+end
+
+test "single and empty string"
+ "f" = (getopts -f "")
+end
+
+test "double and empty string"
+ "foo" = (getopts --foo "")
+end
diff --git a/.config/fisherman/humanize_duration/.travis.yml b/.config/fisherman/humanize_duration/.travis.yml
new file mode 100644
index 0000000..1c567cc
--- /dev/null
+++ b/.config/fisherman/humanize_duration/.travis.yml
@@ -0,0 +1,8 @@
+sudo: required
+before_install:
+ - sudo add-apt-repository -y ppa:fish-shell/release-2
+ - sudo apt-get update
+ - sudo apt-get -y install fish
+script:
+ - curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman
+ - fish -c "fisher fishtape .; fishtape test/*.fish"
diff --git a/.config/fisherman/humanize_duration/LICENSE b/.config/fisherman/humanize_duration/LICENSE
new file mode 100644
index 0000000..840a3e9
--- /dev/null
+++ b/.config/fisherman/humanize_duration/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 bucaran
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/.config/fisherman/humanize_duration/README.md b/.config/fisherman/humanize_duration/README.md
new file mode 100644
index 0000000..b9a17f0
--- /dev/null
+++ b/.config/fisherman/humanize_duration/README.md
@@ -0,0 +1,28 @@
+[![Build Status][travis-badge]][travis-link]
+[![Slack Room][slack-badge]][slack-link]
+
+# Humanize_duration
+
+Humanize a time interval for display.
+
+## Install
+
+With [fisherman]
+
+```
+fisher humanize_duration
+```
+
+## Usage
+
+```fish
+sleep 1
+echo $CMD_DURATION | humanize_duration
+1s 5ms
+```
+
+[travis-link]: https://travis-ci.org/fisherman/humanize_duration
+[travis-badge]: https://img.shields.io/travis/fisherman/humanize_duration.svg
+[slack-link]: https://fisherman-wharf.herokuapp.com/
+[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg
+[fisherman]: https://github.com/fisherman/fisherman
diff --git a/.config/fisherman/humanize_duration/humanize_duration.fish b/.config/fisherman/humanize_duration/humanize_duration.fish
new file mode 100644
index 0000000..aeeae1a
--- /dev/null
+++ b/.config/fisherman/humanize_duration/humanize_duration.fish
@@ -0,0 +1,20 @@
+function humanize_duration -d "Humanize a time interval for display"
+ command awk '
+ function hmTime(time, stamp) {
+ split("h:m:s:ms", units, ":")
+
+ for (i = 2; i >= -1; i--) {
+ if (t = int( i < 0 ? time % 1000 : time / (60 ^ i * 1000) % 60 )) {
+ stamp = stamp t units[sqrt((i - 2) ^ 2) + 1] " "
+ }
+ }
+ if (stamp ~ /^ *$/) {
+ return "0ms"
+ }
+ return substr(stamp, 1, length(stamp) - 1)
+ }
+ {
+ print hmTime($0)
+ }
+ '
+end
diff --git a/.config/fisherman/humanize_duration/man/man1/humanize_time.1 b/.config/fisherman/humanize_duration/man/man1/humanize_time.1
new file mode 100644
index 0000000..e74011f
--- /dev/null
+++ b/.config/fisherman/humanize_duration/man/man1/humanize_time.1
@@ -0,0 +1,31 @@
+.\" generated with Ronn/v0.7.3
+.\" http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "HUMANIZE_TIME" "1" "March 2016" "" "humanize_duration"
+.
+.SH "NAME"
+\fBhumanize_duration\fR \- Humanize a time interval for display
+.
+.SH "SYNOPSIS"
+echo \fImilliseconds elapsed\fR | humanize_duration
+.
+.br
+humanize_duration [\-\-help]
+.
+.br
+.
+.SH "OPTIONS"
+.
+.TP
+\-h, \-\-help
+Show usage help\.
+.
+.SH "EXAMPLES"
+.
+.nf
+
+sleep 1
+echo $CMD_DURATION | humanize_duration
+1s 5ms
+.
+.fi
diff --git a/.config/fisherman/humanize_duration/man/man1/humanize_time.md b/.config/fisherman/humanize_duration/man/man1/humanize_time.md
new file mode 100644
index 0000000..ffadfb4
--- /dev/null
+++ b/.config/fisherman/humanize_duration/man/man1/humanize_time.md
@@ -0,0 +1,14 @@
+humanize_duration(1) -- Humanize a time interval for display
+============================================================
+
+## SYNOPSIS
+
+humanize_duration
+
+## EXAMPLE
+
+```fish
+sleep 1
+echo $CMD_DURATION | humanize_duration
+1s 5ms
+```
diff --git a/.config/fisherman/humanize_duration/test/humanize_duration.fish b/.config/fisherman/humanize_duration/test/humanize_duration.fish
new file mode 100644
index 0000000..03f1cfd
--- /dev/null
+++ b/.config/fisherman/humanize_duration/test/humanize_duration.fish
@@ -0,0 +1,23 @@
+test "$TESTNAME"
+ 1ms = (echo 1 | humanize_duration)
+end
+
+test "$TESTNAME"
+ 10ms = (echo 10 | humanize_duration)
+end
+
+test "$TESTNAME"
+ "1m 40s" = (echo 100000 | humanize_duration)
+end
+
+test "$TESTNAME"
+ "16m 40s" = (echo 1000000 | humanize_duration)
+end
+
+test "$TESTNAME"
+ "2h 46m 40s" = (echo 10000000 | humanize_duration)
+end
+
+test "$TESTNAME"
+ "27h 46m 40s" = (echo 100000000 | humanize_duration)
+end
diff --git a/.config/fisherman/lambda/LICENSE b/.config/fisherman/lambda/LICENSE
new file mode 100644
index 0000000..a439b2e
--- /dev/null
+++ b/.config/fisherman/lambda/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Bruno Ferreira Pinto
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/.config/fisherman/lambda/README.md b/.config/fisherman/lambda/README.md
new file mode 100644
index 0000000..4f276b7
--- /dev/null
+++ b/.config/fisherman/lambda/README.md
@@ -0,0 +1,33 @@
+### Lambda
+
+[![MIT License](https://img.shields.io/badge/license-MIT-007EC7.svg?style=flat-square)](/LICENSE)
+[![Fish Shell Version](https://img.shields.io/badge/fish-v2.2.0-007EC7.svg?style=flat-square)](http://fishshell.com)
+
+
+
+#### Screenshot
+
+
+ +
+ +###### Added VirtualEnv Support +![preview](http://i.imgur.com/fWurs47.png) + + +#### Install + +#### [Fisherman] + +```fish +fisher i lambda +``` + +##### [Oh-My-Fish] + +```fish +omf install lambda +``` + +[Fisherman]: https://github.com/fisherman/fisherman +[Oh-My-Fish]: https://github.com/oh-my-fish/oh-my-fish diff --git a/.config/fisherman/lambda/fish_prompt.fish b/.config/fisherman/lambda/fish_prompt.fish new file mode 100644 index 0000000..639df9f --- /dev/null +++ b/.config/fisherman/lambda/fish_prompt.fish @@ -0,0 +1,67 @@ +function fish_prompt + # Cache exit status + set -l last_status $status + + # Just calculate these once, to save a few cycles when displaying the prompt + if not set -q __fish_prompt_hostname + set -g __fish_prompt_hostname (hostname|cut -d . -f 1) + end + if not set -q __fish_prompt_char + switch (id -u) + case 0 + set -g __fish_prompt_char '#' + case '*' + set -g __fish_prompt_char 'λ' + end + end + + # Setup colors + #use extended color pallete if available +#if [[ $terminfo[colors] -ge 256 ]]; then +# turquoise="%F{81}" +# orange="%F{166}" +# purple="%F{135}" +# hotpink="%F{161}" +# limegreen="%F{118}" +#else +# turquoise="%F{cyan}" +# orange="%F{yellow}" +# purple="%F{magenta}" +# hotpink="%F{red}" +# limegreen="%F{green}" +#fi + set -l normal (set_color normal) + set -l white (set_color --bold normal) + set -l turquoise (set_color cyan) + set -l orange (set_color yellow) + set -l hotpink (set_color red) + set -l blue (set_color blue) + set -l limegreen (set_color brgreen) + set -l purple (set_color magenta) + + # Configure __fish_git_prompt + set -g __fish_git_prompt_char_stateseparator ' ' + set -g __fish_git_prompt_color F2F0EC + set -g __fish_git_prompt_color_flags FFCC66 + set -g __fish_git_prompt_color_prefix white + set -g __fish_git_prompt_color_suffix white + set -g __fish_git_prompt_showdirtystate true + set -g __fish_git_prompt_showuntrackedfiles true + set -g __fish_git_prompt_showstashstate true + set -g __fish_git_prompt_show_informative_status true + + # Line 1 + echo -n $white'╭─'$hotpink$USER$white' at '$orange$__fish_prompt_hostname$white' in '$limegreen(pwd)$turquoise + __fish_git_prompt " (%s)" + echo + + # Line 2 + echo -n $white'╰' + # support for virtual env name + if set -q VIRTUAL_ENV + echo -n "($turquoise"(basename "$VIRTUAL_ENV")"$white)" + end + echo -n $white'─'$__fish_prompt_char $normal +end + + diff --git a/.config/fisherman/lambda/fish_right_prompt.fish b/.config/fisherman/lambda/fish_right_prompt.fish new file mode 100644 index 0000000..5cf7526 --- /dev/null +++ b/.config/fisherman/lambda/fish_right_prompt.fish @@ -0,0 +1,56 @@ +function fish_right_prompt + set -l exit_code $status + __tmux_prompt + if test $exit_code -ne 0 + set_color red + else + set_color 666666 + end + printf '%d' $exit_code + set_color 666666 + printf ' < %s' (date +%H:%M:%S) + set_color normal +end + +function __tmux_prompt + set multiplexer (_is_multiplexed) + + switch $multiplexer + case screen + set pane (_get_screen_window) + case tmux + set pane (_get_tmux_window) + end + + set_color 666666 + if test -z $pane + echo -n "" + else + echo -n $pane' | ' + end +end + +function _get_tmux_window + tmux lsw | grep active | sed 's/\*.*$//g;s/: / /1' | awk '{ print $2 "-" $1 }' - +end + +function _get_screen_window + set initial (screen -Q windows; screen -Q echo "") + set middle (echo $initial | sed 's/ /\n/g' | grep '\*' | sed 's/\*\$ / /g') + echo $middle | awk '{ print $2 "-" $1 }' - +end + +function _is_multiplexed + set multiplexer "" + if test -z $TMUX + else + set multiplexer "tmux" + end + if test -z $WINDOW + else + set multiplexer "screen" + end + echo $multiplexer +end + + diff --git a/.config/fisherman/lambda/screenshot.png b/.config/fisherman/lambda/screenshot.png new file mode 100644 index 0000000..58f5526 Binary files /dev/null and b/.config/fisherman/lambda/screenshot.png differ diff --git a/.config/fisherman/last_job_id/.travis.yml b/.config/fisherman/last_job_id/.travis.yml new file mode 100644 index 0000000..1c567cc --- /dev/null +++ b/.config/fisherman/last_job_id/.travis.yml @@ -0,0 +1,8 @@ +sudo: required +before_install: + - sudo add-apt-repository -y ppa:fish-shell/release-2 + - sudo apt-get update + - sudo apt-get -y install fish +script: + - curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman + - fish -c "fisher fishtape .; fishtape test/*.fish" diff --git a/.config/fisherman/last_job_id/LICENSE b/.config/fisherman/last_job_id/LICENSE new file mode 100644 index 0000000..1a6e9b2 --- /dev/null +++ b/.config/fisherman/last_job_id/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Jorge Bucaran + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/.config/fisherman/last_job_id/README.md b/.config/fisherman/last_job_id/README.md new file mode 100644 index 0000000..79545e9 --- /dev/null +++ b/.config/fisherman/last_job_id/README.md @@ -0,0 +1,28 @@ +[![Build Status][travis-badge]][travis-link] +[![Slack Room][slack-badge]][slack-link] + +# Last_job_id + +Get the id of one or more existing jobs + +## Install + +With [fisherman] + +``` +fisher last_job_id +``` + +## Usage + +```fish +if set -l i (last_job_id --last) + printf "Most recent job: %%%i\n" $i +end +``` + +[travis-link]: https://travis-ci.org/fisherman/last_job_id +[travis-badge]: https://img.shields.io/travis/fisherman/last_job_id.svg +[slack-link]: https://fisherman-wharf.herokuapp.com/ +[slack-badge]: https://fisherman-wharf.herokuapp.com/badge.svg +[fisherman]: https://github.com/fisherman/fisherman diff --git a/.config/fisherman/last_job_id/last_job_id.fish b/.config/fisherman/last_job_id/last_job_id.fish new file mode 100644 index 0000000..b95fb12 --- /dev/null +++ b/.config/fisherman/last_job_id/last_job_id.fish @@ -0,0 +1,14 @@ +function last_job_id -d "Get the id of one or more existing jobs" + builtin jobs $argv | command awk -v FS=\t ' + /[0-9]+\t/{ + aJobs[++nJobs] = $1 + } + END { + for (i = 1; i <= nJobs; i++) { + print(aJobs[i]) + } + + exit nJobs == 0 + } + ' +end diff --git a/.config/fisherman/last_job_id/man/man1/last_job_id.md b/.config/fisherman/last_job_id/man/man1/last_job_id.md new file mode 100644 index 0000000..d8a8938 --- /dev/null +++ b/.config/fisherman/last_job_id/man/man1/last_job_id.md @@ -0,0 +1,14 @@ +last_job_id(1) -- Get the id of the last job to be started +========================================================== + +## SYNOPSIS + +last_job_id