Arch Install

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:

main_view{.alignnone}

First, you can adjust the locales. Here, you can set the system language, the local encoding, and the keyboard layout:

key_layout{.alignnone}

The mirror changes the country you want to download packages from. (For me, I selected Germany):

mirror{.alignnone}

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:

[![parti-1{.alignnone}](/wp-content/uploads/2025/03/[parti-1.png)

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.

parti-2{.alignnone}

Now select the filesystem. I mostly choose ext4 because it is widely used throughout Linux, but sometimes I also use btrfs.

parti-3{.alignnone}

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.

parti-4{.alignnone}

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”!

user{.alignnone}

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!)

type{.alignnone}

You can now select an audio software. I recommend using PipeWire.

audio{.alignnone}

And select a network tool. I recommend NetworkManager.

network{.alignnone}

You can now add some additional packages. I recommend, for Desktop KDE Plasma environments, installing the software from the “Basics” section below.

packeges{.alignnone}

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.