Skip to content

Commit dbd7321

Browse files
committed
Improved the Usage guide, added ToC, added guide to what the script does, added list of packages, added misc information
1 parent 9ca058f commit dbd7321

1 file changed

Lines changed: 300 additions & 14 deletions

File tree

README.md

Lines changed: 300 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,321 @@
1-
# VoidLinuxSetupper
2-
## Automate the process of setting up Void Linux
1+
VoidLinuxSetupper
2+
=================
33

4-
---
4+
Automate the process of setting up Void Linux.
5+
6+
__NOTICE__: THIS SCRIPT IS DESIGNED FOR THE MINIMAL ISO `void-live-x86_64-XXXXXXXX.iso` BUT IT WILL WORK FOR ANY OTHER VERSION.
7+
8+
9+
Table of contents
10+
=================
11+
12+
<!--ts-->
13+
* [VoidLinuxSetupper](#voidlinuxsetupper)
14+
* [Table of contents](#table-of-contents)
15+
* [Usage](#usage)
16+
* [Step 1](#step-1-install-voidlinux)
17+
* [Step 2](#step-2-install-required-packages)
18+
* [Step 3](#step-3-download-the-installation-script)
19+
* [Step 4](#step-4-ready-the-installation-script-and-run-it)
20+
* [What is it doing](#what-is-it-doing)
21+
* [Packages](#packages)
22+
* [Miscellaneous information](#miscellaneous-information)
23+
* [Firewall](#firewall)
24+
<!--te-->
25+
26+
27+
Usage
28+
=====
29+
30+
#### STEP 1: Install VoidLinux
31+
Download the correct ISO file from `voidlinux.org`, the ISO file this script was intended to work for should look like this `void-live-x86_64-YYYYMMDD.iso`, but if you download one that comes with a DE that should also work.
32+
33+
**NOTICE** The script *does not* work on MUSL versions. Glibc is required.
534

6-
__NOTICE__: THIS SCRIPT IS DESIGNED AND WILL MOST LIKELY ONLY WORK FOR THE MINIMAL ISO `void-live-x86_64-XXXXXXXX.iso`
35+
After you have completed the installation of Void, continue to Step 2.
736

8-
__NOTICE__: THIS SCRIPT HAS NOT BEEN TESTED ON THE MUSL VARIANT
937

10-
### Usage
11-
Ready the system and install required packages
12-
```bash
38+
#### STEP 2: Install required packages
39+
```sh
1340
$ sudo xbps-install -Syu
1441
$ sudo xbps-install -S wget
1542
```
1643

17-
Download the installation script
18-
```bash
19-
$ wget https://github.com/TheGejr/VoidLinuxSetupper/blob/master/void-installer.sh
44+
45+
#### STEP 3: Download the installation script
46+
The installation script acquired by cloning the repo, but it's much easier to wget the file from github or (for easier typing) my website.
47+
```sh
48+
$ wget https://raw.githubusercontent.com/TheGejr/VoidLinuxSetupper/master/void-installer.sh
2049
OR
2150
$ wget https://gejr.dk/static/void-installer.sh
2251
```
2352

24-
Ready the installation script and run it.
25-
```bash
53+
54+
#### STEP 3.2 (OPTIONAL): Edit to your preference
55+
The packages the script installs is neatly split up into different sections, therefore it is easy to read and edit.
56+
57+
The script does not install a Display Manager, so you will login in a `TTY`, however `LightDM` packages is ready it just need to be uncommented.
58+
59+
The script installs many of the packages I use therefore it can be a good idea to either look at [this section](#packages) to see the packages it installs or read/edit the code of the script.
60+
61+
A place that is good to edit is the graphics section. By default the script installs Intel graphics drivers, however there is commented code that installs AMD or Nvidia; all you have to do is uncomment and comment the unwanted packages.
62+
There is also a section for Virtualization, by default it installs drivers as if you are running void on a host *not* in a VM.
63+
64+
65+
#### STEP 4: Ready the installation script and run it.
66+
The script is now ready, give the script the proper rights and execute it.
67+
```sh
2668
$ sudo +x void-installer.sh
2769
$ ./void-installer.sh
2870
```
29-
This will take some time.
71+
72+
This will take some time, so go make a cup of coffee and come back in a bit.
3073

3174
---
3275

76+
What is it doing
77+
================
78+
> ### So what is actually happening in this script.
79+
80+
Let me try to explain.
81+
82+
The first thing that happens is it makes sure you are running the script with sudo rights. It then updates the system, and installs the repos `multilib`, `multilib-nonfree`, `nonfree`. It then installs many packages, some is required and some is just my personal preference to install.
83+
After all packages have been installed. It proceeds to download a tarball called `void-files.tar.xz` from my website, the content of the tarball can be seen in this repo in the folder `Archive/void-files`. This is downloaded and extracted. Some permission is set, and then the content is moved to the correct folders which is `~/`, `~/.config/`, `/etc/` and `/usr/`. As the last thing in this section, the script cleans up and fixes some permission issues.
84+
The script now executes two other scripts. These script is what take the most time of the whole process. The scripts installs `Plata themes` and `Papirus icons` and customizes it by replacing the default colors with Void colors.
85+
86+
The script now removes `tty{3,4,5,6}` as services, and adds a whole bunch of other services. It also sets up a firewall with some basic rules (see [firewall rules](#firewall)). The script also sets the default shell to be `fish` because I like fish.
87+
The last thing that the script does is install my own dotfiles. It downloads them from my own website and copies them to the correct places.
88+
89+
---
90+
91+
Packages
92+
========
93+
Here is a list of all the packages the script by default will install. This can of course be modified by editing the script as explained in [STEP 3.2](#step-3-download-the-installation-script).
94+
```
95+
void-repo-multilib
96+
void-repo-multilib-nonfree
97+
void-repo-nonfree
98+
xfce4
99+
xfce-polkit
100+
xfce4-battery-plugin
101+
xfce4-clipman-plugin
102+
xfce4-genmon-plugin
103+
xfce4-notes-plugin
104+
xfce4-pulseaudio-plugin
105+
xfce4-weather-plugin
106+
xfce4-whiskermenu-plugin
107+
xfce4-screenshooter
108+
xfce4-settings
109+
xinit
110+
xorg
111+
xtools
112+
xdg-utils
113+
xdotool
114+
adwaita-icon-theme
115+
alsa-plugins
116+
alsa-plugins-32bit
117+
alsa-plugins-ffmpeg
118+
alsa-plugins-pulseaudio
119+
alsa-utils
120+
conky
121+
cpupower
122+
dbus-elogind
123+
elogind
124+
exo
125+
ffmpeg
126+
garcon
127+
gmic-gimp
128+
gnome-themes-extra
129+
greybird-themes
130+
gst-libav
131+
gst-plugins-bad1
132+
gst-plugins-base1
133+
gst-plugins-good1
134+
gst-plugins-ugly1
135+
gtk-update-icon-cache
136+
gtk3-nocsd
137+
gvfs
138+
gvfs-mtp
139+
lame
140+
libGL-32bit
141+
libavcodec
142+
libavcodec-32bit
143+
libavformat-32bit
144+
libavresample-32bit
145+
libavutil-32bit
146+
libpulseaudio-32bit
147+
libtxc_dxtn-32bit
148+
menulibre
149+
mugshot
150+
ntfs-3g
151+
ntp
152+
numlockx
153+
optipng
154+
parole
155+
pavucontrol
156+
physlock
157+
procps-ng
158+
pulseaudio
159+
rkhunter
160+
scrot
161+
simple-scan
162+
snooze
163+
tty-clock
164+
udisks2
165+
ufw
166+
unrar
167+
unzip
168+
upower
169+
wmctrl
170+
x264
171+
xarchiver
172+
xcalib
173+
xcursor-vanilla-dmz
174+
xcursor-vanilla-dmz-aa
175+
xdg-user-dirs-gtk
176+
xf86-input-wacom
177+
xz
178+
zenity
179+
font-hack-ttf
180+
fontconfig
181+
fontconfig-32bit
182+
freetype
183+
google-fonts-ttf
184+
noto-fonts-cjk
185+
noto-fonts-emoji
186+
noto-fonts-ttf
187+
fish-shell
188+
audacity
189+
zip
190+
whois
191+
torsocks
192+
spigot
193+
bash-completion
194+
cpufrequtils
195+
gzip
196+
hardinfo
197+
epdfview
198+
filezilla
199+
firefox
200+
galculator-gtk3
201+
gimp
202+
git
203+
pidgin
204+
htop
205+
hunspell
206+
libreoffice-calc
207+
libreoffice-writer
208+
libreoffice-gnome
209+
libreoffice
210+
nano
211+
vim
212+
neovim
213+
neofetch
214+
pfetch
215+
thunar-archive-plugin
216+
thunar-volman
217+
thunderbird
218+
transmission-gtk
219+
vkd3d
220+
vkd3d-32bit
221+
vulkan-loader
222+
vulkan-loader-32bit
223+
linux-firmware-intel
224+
xf86-video-intel
225+
mesa-intel-dri
226+
mesa-intel-dri-32bit
227+
mesa-vulkan-intel
228+
mesa-vulkan-intel-32bit
229+
linux-headers
230+
linux-lts-headers
231+
linux-tools
232+
gcc
233+
ctags
234+
make
235+
cmake
236+
rsync
237+
git
238+
lynx
239+
virtualbox-ose
240+
virtualbox-ose-dkms
241+
openjdk-jre
242+
dnscrypt-proxy
243+
```
244+
245+
Here is a list of all the packages that will not be installed by default, but is commented out so it easily can be installed.
246+
```
247+
linux-firmware-amd
248+
xf86-video-amdgpu
249+
mesa-ati-dri
250+
mesa-ati-dri-32bit
251+
mesa-vulkan-radeon
252+
mesa-vulkan-radeon-32bit
253+
linux-firmware-nvidia
254+
xf86-video-nouveau
255+
mesa-nouveau-dri
256+
mesa-nouveau-dri-32bit
257+
openbox
258+
obconf
259+
obmenu
260+
nitrogen
261+
tint2
262+
gsimplecal
263+
volumeicon
264+
compton
265+
light-locker
266+
lightdm
267+
lightdm-gtk-greeter-settings
268+
lightdm-gtk3-greeter
269+
xfce4-screensaver
270+
xfce4-panel-appmenu
271+
appmenu-gtk-module
272+
appmenu-gtk3-module
273+
plank
274+
pm-utils
275+
cups
276+
cups-filters
277+
cups-pk-helper
278+
gutenprint
279+
system-config-printer
280+
octoxbps
281+
xiccd
282+
dhcpcd-gtk
283+
wpa_gui
284+
gufw
285+
gsmartcontrol
286+
catfish
287+
vokoscreen
288+
pitivi
289+
gstreamer-vaapi
290+
sc-controller
291+
virtualbox-ose-guest
292+
virtualbox-ose-guest-dkms
293+
socklog-void
294+
dconf-editor
295+
android-file-transfer-linux
296+
amdvlk
297+
amdvlk-32bit
298+
```
299+
300+
---
301+
302+
Miscellaneous information
303+
=========================
304+
Here is some extra information located that didn't really fit anywhere.
305+
306+
Firewall
307+
--------
308+
The script sets up a firewall using `UFW`, the rules it sets is:
309+
```sh
310+
sudo ufw default deny
311+
#sudo ufw allow from 192.168.0.0/24
312+
sudo ufw logging off
313+
sudo ufw enable
314+
```
315+
316+
317+
Thanks
318+
======
33319
This repo was made possible by Alex from alkusin.net
34320
This repo use much of his work, but with an English translation and some improvements to some scripts and settings.
35321
Check his site out for the original work https://alkusin.net/voidlinux/

0 commit comments

Comments
 (0)