-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlinux-utils.sh
More file actions
160 lines (151 loc) · 4.93 KB
/
linux-utils.sh
File metadata and controls
160 lines (151 loc) · 4.93 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
dep_check() {
# TODO:
# check for presence of either "dkpg-query" or "rpm"
# args = dependencies
# dep_check git libtool
# returns 0 on success, 1 on failure
for dep in $@; do
# if [ $(rpm -q $dep 2>/dev/null | grep -c "not installed") -ne 0 ]; then
if [ $(dpkg-query -W -f='${Status}' $dep 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
red "$dep not found."
return 1
fi
done
return 0
}
cyan " - pick"
which pick > /dev/null
if [ $? -eq 0 ]; then
cyan " - Found ~/bin/pick already, skipping"
else
sudo apt install pick
fi
# if [ -s ~/bin/pick ]; then
# cyan " - Found ~/bin/pick already, skipping"
# else
# # dep_check git autoconf automake cmake g++
# dep_check git autoconf automake cmake gcc-c++
# if [ $? -ne 0 ]; then
# red " - Dependencies not met, skipping install"
# else
# (
# set -e
# wget https://github.com/mptre/pick/releases/download/v$PICK_VER/pick-$PICK_VER.tar.gz
# tar xzvf pick-$PICK_VER.tar.gz
# mkdir -p ~/lib/pick
# cd pick-$PICK_VER
# ./configure --prefix=$HOME/lib/pick
# make
# make install
# cd $root_dir
# rm pick-$PICK_VER.tar.gz
# rm -r pick-$PICK_VER
# ln -s $HOME/lib/pick/bin/pick ~/bin/pick
# ) > $root_dir/logs/pick 2>&1
# # http://unix.stackexchange.com/questions/65532/why-does-set-e-not-work-inside
# if [ "$?" -ne 0 ]; then
# red " - Something went wrong. Check logs/pick."
# else
# green " - Success!"
# fi
# fi
# fi
cyan " - neovim"
if [ -s ~/bin/vim ]; then
cyan " - Found ~/bin/vim already, skipping"
else
which nvim > /dev/null
if [ $? -eq 0 ]; then
sudo apt install nvim
fi
ln -s /usr/bin/nvim ~/bin/vim
# # dep_check git libtool autoconf automake cmake g++ pkg-config unzip libmsgpack-dev libuv-dev libluajit-5.1-dev
# dep_check ninja-build libtool autoconf automake cmake gcc gcc-c++ make pkgconfig unzip patch gettext
# if [ $? -ne 0 ]; then
# red " - Dependencies not met, skipping install"
# else
# cyan " - This may take a while. For progress, tail $root_dir/logs/neovim."
# (
# set -e
# git clone https://github.com/neovim/neovim.git
# mkdir -p ~/lib/neovim
# cd neovim
# make CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH=$HOME/lib/neovim"
# make install
# cd $root_dir
# rm -rf neovim
# ln -s $HOME/lib/neovim/bin/nvim ~/bin/vim
# mkdir -p ${XDG_CONFIG_HOME:=$HOME/.config}
# ln -s ~/.vim $XDG_CONFIG_HOME/nvim
# ln -s ~/.vimrc $XDG_CONFIG_HOME/nvim/init.vim
# ) >$root_dir/logs/neovim 2>&1
# if [ "$?" -ne 0 ]; then
# red " - Something went wrong. Check logs/neovim."
# else
# green " - Success!"
# fi
# fi
fi
cyan " - markdown"
if [ -s ~/bin/markdown ]; then
cyan " - Found ~/bin/markdown already, skipping"
else
(
set -e
wget http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip
unzip Markdown_1.0.1.zip
rm Markdown_1.0.1.zip
mv Markdown_1.0.1 ~/lib/markdown
ln -s ~/lib/markdown/Markdown.pl ~/bin/markdown
) >$root_dir/logs/markdown 2>&1
if [ "$?" -ne 0 ]; then
red " - Something went wrong. Check logs/markdown"
else
green " - Success!"
fi
fi
cyan " - ag"
if [ -s ~/bin/ag ]; then
cyan " - Found ~/bin/ag already, skipping"
else
# dep_check automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev
dep_check pkgconfig automake gcc zlib-devel pcre-devel xz-devel
if [ $? -ne 0 ]; then
red " - Dependencies not met, skipping install"
else
(
set -e
git clone https://github.com/ggreer/the_silver_searcher.git
cd the_silver_searcher
./build.sh --prefix=$HOME/lib/tss
make install
cd $root_dir
rm -rf the_silver_searcher
ln -s ~/lib/tss/bin/ag ~/bin/ag
) >$root_dir/logs/ag 2>&1
if [ "$?" -ne 0 ]; then
red " - Something went wrong. Check logs/ag"
else
green " - Success!"
fi
fi
fi
cyan " - diff-so-fancy"
if [ -s ~/bin/diff-so-fancy ]; then
cyan " - Found ~/bin/diff-so-fancy already, skipping"
else
(
set -e
git clone https://github.com/so-fancy/diff-so-fancy.git
cd diff-so-fancy
cp -r diff-so-fancy lib libexec third_party/diff-highlight/diff-highlight ~/bin
chmod +x ~/bin/diff-highlight
cd ..
rm -rf diff-so-fancy
) >$root_dir/logs/diff-so-fancy 2>&1
if [ "$?" -ne 0 ]; then
red " - Something went wrong. Check logs/diff-so-fancy"
else
green " - Success!"
fi
fi