on 3d07dec help sign in
77 lines 2.5 kB history raw
1set fish_greeting ""
3begin
4 set --local AUTOJUMP_PATH $XDG_CONFIG_HOME/fish/functions/autojump.fish
5 if test -e $AUTOJUMP_PATH
6 source $AUTOJUMP_PATH
7 end
8end
10fish_vi_key_bindings
13function fish_prompt
14 set_color brblack
15 echo -n "["(date "+%H:%M")"] "
16 set_color blue
17 echo -n (hostname)
18 if [ $PWD != $HOME ]
19 set_color brblack
20 echo -n ':'
21 set_color yellow
22 echo -n (basename $PWD)
23 end
24 set_color green
25 printf '%s ' (__fish_git_prompt)
26 set_color red
27 echo -n '| '
28 set_color normal
29end
31function fish_greeting
32 echo
33 echo -e (uname -ro | awk '{print " \\\\e[1mOS: \\\\e[0;32m"$0"\\\\e[0m"}')
34 echo -e (uptime -p | sed 's/^up //' | awk '{print " \\\\e[1mUptime: \\\\e[0;32m"$0"\\\\e[0m"}')
35 echo -e (uname -n | awk '{print " \\\\e[1mHostname: \\\\e[0;32m"$0"\\\\e[0m"}')
36 echo -e " \\e[1mDisk usage:\\e[0m"
37 echo
38 echo -ne (\
39 df -l -h | grep -E 'dev/(xvda|sd|mapper)' | \
40 awk '{printf "\\\\t%s\\\\t%4s / %4s %s\\\\n\n", $6, $3, $2, $5}' | \
41 sed -e 's/^\(.*\([8][5-9]\|[9][0-9]\)%.*\)$/\\\\e[0;31m\1\\\\e[0m/' -e 's/^\(.*\([7][5-9]\|[8][0-4]\)%.*\)$/\\\\e[0;33m\1\\\\e[0m/' | \
42 paste -sd ''\
43 )
44 echo
46 echo -e " \\e[1mNetwork:\\e[0m"
47 echo
48 # http://tdt.rocks/linux_network_interface_naming.html
49 echo -ne (\
50 ip addr show up scope global | \
51 grep -E ': <|inet' | \
52 sed \
53 -e 's/^[[:digit:]]\+: //' \
54 -e 's/: <.*//' \
55 -e 's/.*inet[[:digit:]]* //' \
56 -e 's/\/.*//'| \
57 awk 'BEGIN {i=""} /\.|:/ {print i" "$0"\\\n"; next} // {i = $0}' | \
58 sort | \
59 column -t -R1 | \
60 # public addresses are underlined for visibility \
61 sed 's/ \([^ ]\+\)$/ \\\e[4m\1/' | \
62 # private addresses are not \
63 sed 's/m\(\(10\.\|172\.\(1[6-9]\|2[0-9]\|3[01]\)\|192\.168\.\).*\)/m\\\e[24m\1/' | \
64 # unknown interfaces are cyan \
65 sed 's/^\( *[^ ]\+\)/\\\e[36m\1/' | \
66 # ethernet interfaces are normal \
67 sed 's/\(\(en\|em\|eth\)[^ ]* .*\)/\\\e[39m\1/' | \
68 # wireless interfaces are purple \
69 sed 's/\(wl[^ ]* .*\)/\\\e[35m\1/' | \
70 # wwan interfaces are yellow \
71 sed 's/\(ww[^ ]* .*\).*/\\\e[33m\1/' | \
72 sed 's/$/\\\e[0m/' | \
73 sed 's/^/\t/' \
74 )
75 echo
76 set_color normal
77end