/
setup_os.sh
executable file
·155 lines (129 loc) · 4.33 KB
/
setup_os.sh
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
#! /bin/bash
# Install PPA tools
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
software-properties-common \
curl \
bash \
&& sudo apt-get -y clean
# Neovim
sudo add-apt-repository ppa:neovim-ppa/unstable
# Node
sudo curl -L https://deb.nodesource.com/setup_14.x | sudo bash -
# Yarn
sudo curl -L https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \
sudo echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
# Software I use all the time, stow is pretty important
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
ripgrep \
stow \
universal-ctags \
golang \
locales \
fd-find \
fzf \
vifm \
dos2unix \
colorized-logs \
pass \
mutt \
xcape \
&& sudo apt-get -y clean
# Needed for vim-clap and vim-todoist
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
libssl-dev \
build-essential \
&& sudo apt-get -y clean
# Interesting software.
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
figlet \
&& sudo apt-get -y clean
# Python setup, including for coc-nvim
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
python3 \
python3-pip \
python-is-python3 \
flake8 \
black \
mypy \
mypy-doc \
python-black-doc \
python3-pynvim \
python3-venv \
&& sudo apt-get -y clean
# Perl setup
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
libcode-tidyall-perl \
libdbd-pg-perl \
cpanminus \
&& sudo apt-get -y clean
cpanm --sudo Perl::lLanguageServer
cpanm --sudo Neovim::Ext
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
# Ruby setup
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
ruby \
ruby-dev \
&& sudo apt-get -y clean
sudo gem install neovim
# Things needed for coc-nvim
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
neovim \
nodejs \
yarn \
&& sudo apt-get -y clean
# Things needed for oh-my-zsh
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
build-essential \
curl \
file \
powerline \
fonts-powerline \
&& sudo apt-get -y clean
# Tmux stuff
sudo apt-get --assume-yes update && sudo apt-get -yqq upgrade && \
sudo apt-get --assume-yes install \
tmux \
&& sudo apt-get -y clean
sudo gem install tmuxinator
# Install Git
sudo add-apt-repository -y ppa:git-core/ppa && sudo apt-get update && sudo apt-get install -y git git-lfs && sudo apt-get -y clean
# Set default pull mode for git
git config --global pull.rebase false
# Neovim module setup
sudo yarn global add neovim
sudo npm install -g neovim
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/nvim 60
sudo update-alternatives --install /usr/bin/vim vim /usr/bin/nvim 60
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/nvim 60
sudo update-alternatives --install /usr/bin/view view /usr/bin/nvim 60
# This is needed for coc-python
sudo pip3 install jedi
# Iosevka Font which I like
rm -rf /tmp/iosevka
mkdir -p /tmp/iosevka
wget --directory-prefix=/tmp/iosevka http://phd-sid.ethz.ch/debian/fonts-iosevka/fonts-iosevka_4.0.0%2Bds-1_all.deb
sudo dpkg -i /tmp/iosevka/fonts-iosevka_4.0.0+ds-1_all.deb
# Install dependencies needed for Alacritty Terminal
sudo apt-get install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev python3
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup override set stable
rustup update stable
# Install Alacritty
rm -rf /tmp/alacritty
git clone https://github.com/alacritty/alacritty.git /tmp/alacritty
cd /tmp/alacritty
cargo build --release
sudo cp target/release/alacritty /usr/local/bin
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo desktop-file-install extra/linux/Alacritty.desktop
sudo update-desktop-database