install.sh

1
# Install script. This is to easily install a fresh new operating system,
2
# particulary Arch, because that's the best GNU/Linux distro =P
3
4
# The next command will install the software that I'm bound to use on my PC.
5
sudo pacman -S --noconfirm neovim base-devel rust vlc openssh emacs 
6
# Don't forget to install the keys for SSH!
7
8
# Installing Spacemacs because it's bae as fuck
9
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
10
11
# Installing shell data:
12
sudo pacman -S --noconfirm zsh zsh-completions zsh-grml-config
13
14
# Installing the Noto fonts:
15
sudo pacman -S --noconfirm noto-fonts noto-fonts-emoji
16
# Firefox:
17
sudo pacman -S --noconfirm firefox
18
# Uncomment next line for Dutch firefox translations.
19
#sudo pacman -S --noconfirm firefox-i18n-nl
20
# I've ditched Firefox in favor of Chromium, because Chromium doesn't vomit when confronted with XWayland.
21
#sudo pacman -S --noconfirm chromium
22
23
# Sound handling (Don't forget to unmute using alsamixer!)
24
sudo pacman -S --noconfirm alsa-utils pulseaudio pulseaudio-jack pulseaudio-bluetooth
25
26
# To easily make use of the AUR, I'll first install Pacaur, which needs some
27
# special treatment up front:
28
cd ~/Downloads
29
wget https://aur.archlinux.org/cgit/aur.git/snapshot/pacaur.tar.gz
30
tar -x -f pacaur.tar.gz
31
cd pacaur
32
makepkg -sri --noconfirm
33
cd ..
34
rm -r pacaur
35
cd ~
36
37
# Making a directory in which to store all repositories. It's basically a
38
# repository for repositories =3
39
mkdir Repositories
40
41
# Making some common aliases for some pieces of software
42
alias vi nvim
43
alias vim nvim
44
45
# Some Python dependencies that need to be installed
46
pip install paramiko
47
48
# Collecting software from the AUR:
49
pacaur -S vim-youcompleteme-git
50
pacaur -S clojure leiningen  # Clojure's 'project manager' thingy + Clojure
51
# Next line installs all required software for the desktop environment.
52
pacaur -S i3-gaps feh rofi compton i3lock-wrapper
53
# Installing Polybar and i3ipc-glib-git because the first one is awesome, the
54
# second one (allegedly) necessary for i3 interaction for Polybar:
55
#pacaur -S --noconfirm polybar i3ipc-glib-git # Disabled because I'm back to i3status
56
# i3blocks optional dependencies:
57
pacaur -S acpi bc lm_sensors playerctl sysstat
58
# A terminal emulator:
59
pacaur -S --noconfirm rxvt-unicode
60
# Also, DO NOT use Termite. It's an awful thing to work with NeoVim, and slows
61
# down to a fucking tortoise speed.
62
63
# Now, assuming I'm using the my standard setup for Yabar, I need the JSON
64
# parser to correctly output my workspace name:
65
pacaur -S --noconfirm jq
66
67
# Uncomment when there is a driver for the Validity VFS495 138a:003f figerprint
68
# reader, and still working on that gorgeous laptop:
69
#pacaur -S --noconfirm fprintd
70
71
pacaur -S --noconfirm rsync  # Used for backing up data that can't be done properly with Git
72
pacaur -S --noconfirm neomutt urlview  # Least sucky mail client
73
74
# Installing CRON job services
75
pacaur -S --noconfirm cronie
76
# TODO Add a line that makes a symbolic link to my custom Cron file
77
sudo systemctl enable cronie.service
78
79
pacaur -S --noconfirm irssi  # IRC client
80
pacaur -S --noconfirm ranger w3m  # File manager. w3m for image previews
81
# TODO link ranger/rc.conf and scope.sh symbolically to .config/ranger
82
83
# Fonts
84
# Now I don't like Ubuntu, but their fonts are amazing.
85
pacaur -S --noconfirm ttf-ubuntu-font-family ttf-hack ttf-fira-code
86
87
# MPV is used for playing videos, and is required when using the 'Watch with
88
# MPV' plugin for Firefox. It's way more lightweight, and I don't get why both
89
# Chrome and Firefox don't do this automatically, and default to software
90
# decoding instead on the hardware GPU.
91
pacaur -S --noconfirm mpv youtube-dl-git
92