rc

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 mpv openssh emacs 
6
echo "Don't forget to install the keys for SSH!\n"
7
8
# Installing shell data:
9
sudo pacman -S --noconfirm zsh zsh-completions zsh-grml-config
10
11
# Installing the Noto fonts:
12
sudo pacman -S --noconfirm noto-fonts noto-fonts-emoji
13
14
15
##### SYSTEM MAITENANCE #####
16
# All tools that help with visualizing system parameters and associated other
17
# interesting stuff.
18
19
# iotop is useful for sorting programs by the amount of disk writes, so you can
20
# see what programs would benefit from tmpfs. Plus: It can prolong the lifespan
21
# of SSDs.
22
sudo pacman -S --noconfirm iotop
23
24
25
26
##### FIREFOX #####
27
# This browser is such a big chunk that it requires its own special treatment.
28
# Installs the browser itself:
29
sudo pacman -S --noconfirm firefox-developer-edition
30
31
# This is a script that puts the Firefox profile stuff in tmpfs, which is RAM,
32
# providing a significant speedup and reduces disk writes.
33
# Do note that this is for single profile systems only!
34
pacaur -S --noconfirm firefox-sync
35
36
# Uncomment next line for Dutch firefox translations, if desired.
37
#sudo pacman -S --noconfirm firefox-i18n-nl
38
39
40
##### GPS/OPENSTREETMAP #####
41
echo "Installing an offline OpenStreetMap and GPS system is too complex to do
42
with a script. Please consult https://wiki.archlinux.org/index.php/GpsDrive for
43
information if you wish to do so.\n"
44
45
# Sound handling (Don't forget to unmute using alsamixer!)
46
sudo pacman -S --noconfirm alsa-utils pulseaudio pulseaudio-jack pulseaudio-bluetooth
47
echo "It's possible that the sound is muted. Unmute using Alsamixer.\n"
48
49
# To easily make use of the AUR, I'll first install Pacaur, which needs some
50
# special treatment up front:
51
cd ~/Downloads
52
wget https://aur.archlinux.org/cgit/aur.git/snapshot/pacaur.tar.gz
53
tar -x -f pacaur.tar.gz
54
cd pacaur
55
makepkg -sri --noconfirm
56
cd ..
57
rm -r pacaur
58
cd ~
59
60
# Making a directory in which to store all repositories. It's basically a
61
# repository for repositories =3
62
mkdir Repositories
63
64
# Making some common aliases for some pieces of software
65
alias vi nvim
66
alias vim nvim
67
68
# Some Python dependencies that need to be installed
69
pip install paramiko
70
71
# Collecting software from the AUR:
72
#pacaur -S vim-youcompleteme-git
73
pacaur -S --noconfirm clojure leiningen  # Clojure's 'project manager' thingy + Clojure
74
# Next line installs all required software for the desktop environment.
75
pacaur -S i3-gaps feh rofi compton i3lock-wrapper
76
# Installing Polybar and i3ipc-glib-git because the first one is awesome, the
77
# second one (allegedly) necessary for i3 interaction for Polybar:
78
#pacaur -S --noconfirm polybar i3ipc-glib-git # Disabled because I'm back to i3status
79
# i3blocks optional dependencies:
80
pacaur -S acpi bc lm_sensors playerctl sysstat
81
# A terminal emulator:
82
pacaur -S --noconfirm rxvt-unicode
83
# Also, DO NOT use Termite. It's an awful thing to work with NeoVim, and slows
84
# down to a fucking tortoise speed.
85
86
# Now, assuming I'm using the my standard setup for Yabar, I need the JSON
87
# parser to correctly output my workspace name:
88
pacaur -S --noconfirm jq
89
90
# Uncomment when there is a driver for the Validity VFS495 138a:003f figerprint
91
# reader, and still working on that gorgeous laptop:
92
#pacaur -S --noconfirm fprintd
93
94
pacaur -S --noconfirm rsync  # Used for backing up data that can't be done properly with Git
95
pacaur -S --noconfirm neomutt urlview  # Least sucky mail client
96
97
# Installing CRON job services
98
pacaur -S --noconfirm cronie
99
# TODO Add a line that makes a symbolic link to my custom Cron file
100
sudo systemctl enable cronie.service
101
102
pacaur -S --noconfirm irssi  # IRC client
103
pacaur -S --noconfirm ranger w3m  # File manager. w3m for image previews
104
# TODO link ranger/rc.conf and scope.sh symbolically to .config/ranger
105
106
# Fonts
107
# Now I don't like Ubuntu, but their fonts are amazing.
108
pacaur -S --noconfirm ttf-ubuntu-font-family ttf-hack ttf-fira-code
109
110
# MPV is used for playing videos, and is required when using the 'Watch with
111
# MPV' plugin for Firefox. It's way more lightweight, and I don't get why both
112
# Chrome and Firefox don't do this automatically, and default to software
113
# decoding instead on the hardware GPU.
114
pacaur -S --noconfirm mpv youtube-dl-git
115
116
# Software necessary to have an offline dictionary on my computer, which comes
117
# in handy during translating.
118
pacaur -S --noconfirm dictd goldendict
119
120
##### PERFORMANCE #####
121
# This is mostly stuff about activating performance enhancing options.
122
123
# These lines will tell makepkg to
124
# 1. Use all available cores for compiling (if possible)
125
# 2. Move the build process to the /tmp folder, which is on tmpfs --> RAM,
126
#    which can speed up build times
127
sudo echo 'MAKEFLAGS="-j$(nproc)"' >> /etc/makepkg.conf
128
sudo echo 'BUILDDIR=/tmp/makepkg' >> /etc/makepkg.conf
129