I am a big Linux fan. Choosing from all the Linux distributions out there, I chose Arch Linux (I use Arch, btw). Back in the day, installing Arch Linux was not easy at all, and Arch Linux was more for tech enthusiasts. With a lot of knowledge and time, the system was usable for day-to-day tasks. But some time ago, archinstall
was introduced. This made it super easy to use and not a real pain to set up Arch Linux. Due to good desktop and cutting-edge software support and a lot of updates, Arch Linux became my main OS. I use it daily and won’t change it for anything.
That’s why I share – and honestly store it for myself too – my Arch Linux setup. Instead of sharing an install script like back in the day, I share some information about archinstall
and packages I think are useful when using Arch Linux for daily tasks.
Note: This post gets updated from time to time if I make changes to my system or add software.
Arch Install
Now we can view the settings we can adjust:
First, you can adjust the locales. Here, you can set the system language, the local encoding, and the keyboard layout:
The mirror changes the country you want to download packages from. (For me, I selected Germany):
Next comes an important section: the disk setup. You could partition the disk manually, but you can also let archinstall
do this for you. Select best-effort:
[
Select the disk you want to partition. In my test setup, I have one small disk. You could select more than one disk. Please make sure not to select the bootable device from which you booted into Arch Linux. You can select more than one with the Tab
key.
Now select the filesystem. I mostly choose ext4
because it is widely used throughout Linux, but sometimes I also use btrfs
.
Now you should have a boot partition and your main partition. Sometimes, when having bigger disks or multiple disks, you can choose whether you want to split the /root
and /home
partitions. I don’t recommend it because, for my daily setup, I need a lot of space for my /root
partition, and restrictions due to insufficient space are really inconvenient. Changing it later is hard.
The next points are already set correctly – at least for me, they are. You could change the hostname (the name of your computer). You should also set a root password.
Now we add a user. Make sure to make it a superuser (su
), because doing it later is a bit of a pain. Make sure you click “Confirm and exit”!
You can now select a profile, so the type of system. Of course, you could adjust it later, like everything we do here. But you should select what best fits for you. I choose Desktop, and within that, I choose KDE Plasma. (I love KDE Plasma!)
You can now select an audio software. I recommend using PipeWire.
And select a network tool. I recommend NetworkManager.
You can now add some additional packages. I recommend, for Desktop KDE Plasma environments, installing the software from the “Basics” section below.
Make sure you separate them with a space.
The rest can be left as it is. You can change the timezone if needed.
Now hit install. You should now see a summary of your selected choices and confirm it with “yes” to proceed with the installation.
Packages
This is, of course, not a full list of the software I use. You should read about each package in the wonderful Arch Wiki.
Special
neofetch
Every Arch Linux user must run neofetch
at least once. It only shows system info, but in a cool way.
sudo pacman -S neofetch
Basics
plasma / kde-applications / breeze-gtk
These packages should be installed via the archinstall
script. They are my favorite setup to make KDE Plasma a fully functional desktop environment out of the box.
sudo pacman -S plasma kde-applications breeze-gtk kde-gtk-config
brave-bin
I use Brave as my browser after switching from Firefox when they officially started selling user data – the main reason I originally used Firefox disappeared.
yay -S brave-bin
pigz
I zip a lot of stuff. Do yourself a favor and install pigz
, a parallelized version of gzip
.
sudo pacman -S pigz
bluez / bluez-utils
If you want to use Bluetooth, install these packages.
sudo pacman -S bluez bluez-utils
nvidia / nvidia-utils
If you have an NVIDIA graphics card, you should install the necessary drivers.
sudo pacman -S nvidia nvidia-utils
cups / cups-pdf / system-config-printer
If you want to use your printer – and I know, we all hate printers – install CUPS. For KDE Plasma integration, use system-config-printer
.
sudo pacman -S cups cups-pdf system-config-printer
Security
usbguard
USBGuard prevents unauthorized USB devices from connecting to your system without your approval.
sudo pacman -S usbguard
Note: Before activating USBGuard, run the following command to avoid getting locked out:
sh -c 'usbguard generate-policy > /etc/usbguard/rules.conf'
systemctl start usbguard.service
systemctl enable usbguard.service
clamav
ClamAV is a great virus scanner that I use when downloading potentially unsafe content.
sudo pacman -S clamav
firewalld
A good firewall is necessary. You could use ufw
, but I prefer firewalld
because it provides more control. If you spend an hour learning it, it’s not harder than ufw
.
sudo pacman -S firewalld
System Tools
usbutils / net-tools
If you’re into system administration, you may find usbutils
and net-tools
useful.
sudo pacman -S usbutils net-tools
timeshift
With timeshift
, you can easily make and restore backups. I highly recommend backing up your system – no backup, no mercy!
sudo pacman -S timeshift
rclone
rclone
is great for backups and also for integrating any cloud storage service into your file system.
sudo pacman -S rclone
Coding
git / base-devel
I don’t think I need to explain git
. You also need to install base-devel
for proper functionality.
sudo pacman -S git base-devel
jdk-openjdk
If you want to use Java, install the latest version of OpenJDK.
sudo pacman -S jdk-openjdk
virtualbox
Whenever I need to test something or use a different OS, I rely on VirtualBox.
sudo pacman -S virtualbox
ranger / tree
If you love navigating your file system via the terminal, ranger
and tree
are necessary, in my opinion.
sudo pacman -S ranger tree
visual-studio-code-bin
And, of course, the absolute best code editor.
yay -S visual-studio-code-bin
Office
libreoffice-fresh
Since Linux users hate Microsoft, use LibreOffice as a free office alternative.
sudo pacman -S libreoffice-fresh
obsidian
You can install Obsidian Notes, the best note-taking app, via the KDE Plasma Discovery tool on Flatpak.
gimp
For image manipulation and graphics work, I recommend gimp
. Install it via the KDE Plasma Discovery tool on Flatpak.