-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathinstall-linux.txt
183 lines (152 loc) · 6.63 KB
/
install-linux.txt
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
#!/usr/bin/env bash
echo "This might not actually run. You may need to use it as a guide and do the steps one at a time"
set -e
################################################################################
######################### Cleanup Default Files ################################
################################################################################
if [ -f "$HOME/.profile" ]; then
rm "$HOME/.profile"
fi
if [ -f "$HOME/.bashrc" ]; then
rm "$HOME/.bashrc"
fi
if [ -f "$HOME/.bash_profile" ]; then
rm "$HOME/.bash_profile"
fi
if [ -f "$HOME/.localrc" ]; then
rm "$HOME/.localrc"
fi
if [ -f "$HOME/.bash_logout" ]; then
rm "$HOME/.bash_logout"
fi
if [ -f "$HOME/.viminfo" ]; then
rm "$HOME/.viminfo"
fi
################################################################################
######################### SUDO to INSTALL THINGS ###############################
################################################################################
# Ask for administrator password
sudo -v
# keep-alive: update existing 'sudo' time stamp until finished
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
# Install everything for i3
apt install -y i3 i3status dmenu i3lock xautolock xbacklight feh conky-all
echo "Set up suspend on systemd logind.service to use i3l"
# Networking
apt install -y mosh # better ssh over intermittent connections
apt install -y openssl # secure socket layer networking
# Apps
apt install -y stow # store files by symlink
apt install -y deluge # torrent client
apt install -y calibre # ebook management
apt install -y imagemagick # image conversion
apt install -y jq # json parsing
apt install -y nextcloud-client # personal cloud hosting
apt install -y spideroakone # secure cloud storage
apt install -y tmux # terminal multiplexer
apt install -y veracrypt # truecrypt replacement
apt install -y vim-gtk # vim with all the fixin's
apt install -y lynx # the greatest browser
apt install -y wire-desktop # wire messaging app
apt install -y html2text # html parsing
apt install -y recode # convert between character sets
apt install -y csvkit # parsing/working with csv
apt install -y liquidsoap liquidsoap-plugin-all # icecast streaming
apt install -y scrot # screenshots
apt install -y sshuttle # poor man's vpn over ssh
apt install -y dict dictd dict-gcide # local dictionary
apt install -y wicd-curses # network manager
# Languages
# javascript
apt install -y nodejs nodejs-dev build-essentials # js development
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
apt update && apt install -y yarn
yarn global add eslint
yarn global add javascript-typescript-langserver
# bash
apt install shellcheck
yarn global add bash-language-server
# ctags
apt install -y exuberant-ctags # tag management for code hinting
# css
yarn global add stylelint
yarn global add caniuse-cmd
yarn global add vscode-css-languageserver-bin
# html
brew install tidy-html5
yarn global add vscode-html-languageserver-bin
# Other development
apt install -y pngquant # image compression
apt install -y tig # git browser
# Neovim
add-apt-repository ppa:neovim-ppa/stable # neovim repository
apt update
apt install neovim # vim: the next generation
# FFMPEG
apt install -y autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
apt install -y yasm
mkdir ~/ffmpeg_sources
cd ~/ffmpeg_sources
wget http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.bz2
tar xjvf nasm-2.13.01.tar.bz2
cd nasm-2.13.01
./autogen.sh
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
PATH="$HOME/bin:$PATH" make
make install
apt install -y libx264-dev libx265-dev libfdk-aac-dev libmp3lame-dev libopus-dev libvpx-dev
cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
PATH="$HOME/bin:$PATH" make
make install
hash -r
# Alacritty terminal emulator
mkdir -p ~/tmp/
cd ~/tmp/
git clone https://github.com/jwilm/alacritty.git
cd alacritty
cargo install cargo-deb
cargo deb --install
################################################################################
###################### Folder Structures and Links #############################
################################################################################
mkdir -p ~/Sites/system/
mkdir -p ~/Sites/work/
mkdir -p ~/Sites/personal/
mkdir -p ~/Sites/sync/spideroak
mkdir -p ~/Sites/sync/nextcloud
mkdir -p ~/Sites/sync/syncthing
ln -s ~/Sites/sync/nextcloud/ ~/.nextcloud
ln -s ~/Sites/sync/spideroak ~/.spideroak
################################################################################
############################### Dotfiles #######################################
################################################################################
cd ~/Sites/system && git clone https://github.com/jamestomasino/dotfiles.git
cd ~/Sites/system/dotfiles && ./make
################################################################################
########################### Plugin Installs ####################################
################################################################################
vim -c ":PlugInstall|q|q" # auto install plugins
nvim -c ":PlugInstall|q|q" # auto install plugins
"$HOME/.tmux/plugins/tpm/bin/install_plugins"