-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbash_alias
More file actions
68 lines (58 loc) · 1.67 KB
/
bash_alias
File metadata and controls
68 lines (58 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
function ide__list {
echo "Saved sessions:"
tmux ls 2> /dev/null | cut -d ":" -f 1
echo ""
echo "Projects":
ls -1 /srv/src
}
function ide__attach {
tmux send-keys -t $1:1.0 "vi" C-m
tmux send-keys -t $1:1.1 ". ~/.virtualenvs/$1/bin/activate; clear" C-m
tmux attach -t $1
}
function ide__create {
mkdir -p /srv/src/$1
cd /srv/src/$1
tmux new-session -s $1 -n 1 -d
tmux split-window -h -p 40 -t $1:1.0
ide__attach $1
}
function ide__main {
if [[ -z $1 ]];then
ide__list
else
tmux ls 2> /dev/null | grep -q $1 && ide_attach $1 || (ide__create $1 && ide_attach $1)
fi
}
function workon__main {
if [ -z $1 ];then
test -z $(echo $VIRTUAL_ENV) || deactivate
else
cd ~/src/$1
test -d ~/.virtualenvs/$1 && source ~/.virtualenvs/$1/bin/activate
fi
}
function eyeball__main {
echo $1 | grep -q ".pdf" && pdf2html $1 | lynx -stdin || pandoc $1 | lynx -stdin
}
function bootstrap__mac {
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install jq python3 git tmux vim pandoc pdftohtml lynx ack
}
function bootstrap__ubuntu {
sudo apt install -y jq python3 git tmux vim pandoc pdftohtml lynx ack
}
function bootstrap__main {
echo $1 | grep -q "Darwin" && bootstrap__mac
echo $1 | grep -q "Ubuntu" && bootstrap__ubuntu
}
function infect__main {
scp /srv/src/dotfiles/install.py $1:~/install.py
ssh $1 ./install.py
}
alias infect="infect__main $1"
alias bootstrap="bootstrap__main "$(uname -rv)""
alias vi="$(which vim)"
alias workon="workon__main $1"
alias eyeball="eyeball__main $1"
alias ide="ide__main $1"