install.sh
1 |
|
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 |