Just installed Arch Linux? This Arch Linux post-install guide covers 10 essential steps for building a secure, optimized, and fully functional desktop – including Pacman, Flatpak, CPU microcode, firewall configuration, SSD TRIM, multimedia codecs, Bluetooth, printers,the AUR and more!
Tip #1 – Set up your Mirrors
First, before we go any further, we should update our mirror list. This is a file on our system that tells Arch where to download packages. In particular, we’ll generate a new mirror list, which helps ensure that we’re downloading packages from one of the fastest available servers.
To do that, we’ll first install the reflector package:
sudo pacman -S reflector
Once that’s done, we’ll generate a new mirror list:
sudo reflector --country US --latest 10 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
Of course, be sure to change US to your own two-letter country code. What this command does is generate a new list of download mirrors, sorted by download speed, and save it as our system’s mirror list.
After that, we’ll refresh our package databases so Arch starts using the updated list of mirrors:
sudo pacman -Syy
And that’s really all there is to it. Some of the tweaks in this video are quick and easy, and this is one of them. More importantly, it lays a solid foundation for everything we’ll install later.
I also recommend regenerating your mirror list from time to time. Servers occasionally go offline, get decommissioned, or simply become slower over time. By refreshing your mirror list periodically, you’ll help ensure that Arch continues using responsive download servers.
Tip #2 – Learn the pacman command
Next, I highly recommend learning the basics of the pacman command. You don’t need to memorize every option right away—as long as you understand the fundamentals, you’ll have everything you need to get started.
To help you out, I actually have an entire video dedicated to pacman, so if you’d like to dive deeper after this one, be sure to check it out.
But to save you some time, let’s go over a few of the most common examples. In fact, we’ve already used our first example in the previous section when we installed Reflector:
sudo pacman -S reflector
In this example, we use sudo to elevate our privileges, since pacman requires administrative permissions whenever you’re making changes to your system, such as installing software.
The -S option stands for sync. In simple terms, it tells pacman to work with packages from the configured repositories. In this case, we’re installing the reflector package.
Here’s another example:
sudo pacman -S tmux
It’s exactly the same command, just with a different package name. You can also install multiple packages at the same time:
sudo pacman -S reflector tmux
In that example, both packages will be installed with a single command.
As you continue using Arch, you’ll become more familiar with pacman over time. It’s not the only way to install software, but it is by far the most common.
Another command that’s worth remembering lets you search for packages:
pacman -Ss packagename
Here, we combine -S with -s, where the lowercase s stands for search. Replace packagename with whatever you’re looking for, and pacman will display any matching packages.
If you decide you no longer need a package, removing it is just as straightforward:
sudo pacman -R tmux
Finally, it’s important to keep your Arch installation up to date. Unlike fixed-release distributions, Arch is constantly receiving updates, so you don’t want to fall too far behind. I recommend updating your system at least once a week by running:
sudo pacman -Syu
To break that down, -S tells pacman to synchronize with the repositories, -y refreshes the package databases, and -uupgrades all installed packages to their latest available versions. Since Arch is updated continuously, you’ll often find new packages and updates available every few days.
Tip #3 – Set up Flatpak Support
Next, let’s take a look at an alternative method for installing software: Flatpak. Flatpak is a cross-distribution package format, so it’s not specific to Arch. It’s available on many Linux distributions, which means developers can package an application once and make it available to users across multiple distros.
Another benefit is that many Flatpak applications are maintained directly by the software publisher, so you’re often getting the latest version straight from the developer.
Setting it up is easy, but before I show you how, let’s answer an important question: should you even bother using Flatpak on Arch? To help you decide, let’s take a look at some of the pros and cons.
One of the biggest advantages of Flatpak is that it provides current versions of many popular applications. That’s especially useful on distributions like Debian or Enterprise Linux, where the official repositories tend to prioritize stability over newer software versions. But Arch is already a rolling-release distribution, so the official repositories typically contain very recent versions of software. Because of that, you could certainly argue that Flatpak isn’t as essential on Arch as it is elsewhere.
That said, I still think it’s worth setting up. Some popular applications simply aren’t available in Arch’s official repositories. For example, let’s say you need to install Zoom for an online meeting. Arch doesn’t provide an official package for it. The Arch User Repository—which we’ll be discussing later—does include a package build for Zoom, but the version available on Flathub is generally easier to install. The same is true for other applications such as Discord, Spotify, Obsidian, and many others.
To get started, we’ll first install Flatpak itself:
sudo pacman -S flatpak
At this point, your system supports Flatpak, but it still needs somewhere to download applications from. The most popular Flatpak repository is Flathub, and we can add it with the following command:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
And that’s really all there is to it. Your system now supports Flatpak, and it’s configured to download applications from Flathub.
If you’re using GNOME, you might also want to install GNOME Software:
sudo pacman -S gnome-software
GNOME Software is one of the most common graphical software stores available on Linux, and it’s the default application manager on several distributions. On Arch, however, it isn’t integrated with pacman, so you won’t be able to browse or install packages from Arch’s official repositories through it.
What GNOME Software does support very well is Flatpak. Once Flatpak is installed and Flathub has been added, GNOME Software provides a convenient graphical interface for browsing, installing, updating, and removing Flatpak applications. So if you’re using GNOME and prefer a graphical experience, I think it’s a worthwhile addition.
For many Arch users, the choice often comes down to installing an application from Flathub or from the Arch User Repository. Both have their strengths, and later in this video we’ll take a closer look at the AUR so you can decide which option makes the most sense for your workflow.
Tip #4 – Install CPU Microcode
Continuing on, my next recommended tweak is to install microcode updates for your CPU. This is another quick one, since the process simply involves installing a single package.
If your system has an Intel or AMD processor, the manufacturer may periodically release microcode updates to fix CPU bugs, improve system stability, and address security vulnerabilities.
Unlike a BIOS or UEFI firmware update, these updates aren’t permanently flashed onto your processor. Instead, they’re loaded into the CPU during the boot process. That’s why it’s important to have the appropriate microcode package installed—your system will automatically load it every time it starts.
To set this up, simply install the package that matches your processor:
sudo pacman -S intel-ucode
Or, if you have an AMD processor:
sudo pacman -S amd-ucode
Once you’ve installed the appropriate package, simply reboot your system. During startup, Arch will automatically load the microcode update into your processor, allowing you to benefit from any bug fixes, stability improvements, or security updates it provides.
Tip #5 – Set up a Firewall
Next, another thing you may want to consider is setting up a firewall. While a firewall won’t make your system hack-proof, it does provide an important first layer of defense by helping control which network connections are allowed to reach your computer.
In a previous video, I covered a solution called the Uncomplicated Firewall, or UFW for short. As the name suggests, it’s designed to make firewall management much easier. It includes both a command-line interface and an optional graphical application for creating and managing firewall rules. If you’d like a complete walkthrough, I’ll leave a card for my UFW tutorial right here.
Getting started on Arch is easy. First, install the command-line utility:
sudo pacman -S ufw
If you’d also like a graphical interface, you can install GUFW as well:
sudo pacman -S gufw
Once the package is installed, enable the firewall service:
sudo systemctl enable --now ufw
From there, I recommend checking out my full UFW tutorial, where I walk through creating firewall rules, allowing specific services, and configuring UFW for everyday use. That way, you’ll have a solid baseline security configuration without having to learn all of the commands on your own.
Tip #6 – Set up SSD Trim Support
Here’s another quick tip for you. If you installed Arch on an SSD, you should consider enabling TRIM support. TRIM allows the operating system to tell your SSD which blocks are no longer in use, helping the drive manage its storage more efficiently and maintain performance over time.
Fortunately, setting this up is incredibly easy. All we need to do is enable the fstrim timer with the following command:
sudo systemctl enable --now fstrim.timer
I’ve covered systemd timers in another video, but here’s the short version. A timer is essentially a scheduled task, and the fstrim timer is already included with a standard Arch installation. By enabling it, you’re telling your system to periodically run the fstrim command, which performs the TRIM operation for you.
By default, the timer runs once a week, and that’s a perfectly reasonable schedule for most desktop and laptop systems. Once you’ve enabled it, you can pretty much forget about it and let your system take care of the rest.
Tip #7 – Install Fonts
Moving on, another system tweak to consider is installing a few commonly used font packages. Depending on the desktop environment you chose, your Arch installation may already include a basic set of fonts. However, it’s still possible to encounter missing characters or empty boxes when viewing certain websites or documents. These days, missing emoji are one of the most common examples.
To install a well-rounded collection of fonts, run the following command:
sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-dejavu ttf-liberation
This installs Google’s Noto font family, which provides excellent support for a wide variety of languages and writing systems. It also includes support for Chinese, Japanese, and Korean characters, as well as color emoji.
The ttf-liberation package is also included. It provides fonts that are metrically compatible with several well-known proprietary fonts, which can improve the appearance and formatting of documents created with applications like Microsoft Office.
It’s a simple tweak, but having these fonts installed helps ensure that websites, documents, and applications display text the way they’re intended to.
Tip #8 – Install Multimedia Codecs
Next up, what about multimedia codecs? These days, installing codecs isn’t nearly as important as it used to be. When I first started using Linux, multimedia support could be a real headache. If you wanted to play different types of video or audio files, you often had to install a variety of codec packages before everything would work correctly.
Today, that’s much less of an issue. Since most people stream media through their web browser, codec support is often already taken care of. Then again, many of us still like to keep local copies of our movies, TV shows, or music, and if that’s you, installing a few common multimedia packages is still a good idea.
You can do that with the following command:
sudo pacman -S gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly ffmpeg
An even simpler option is to install VLC:
sudo pacman -S vlc
VLC is one of the most popular media players available on Linux, and it supports a huge number of audio and video formats right out of the box. For many users, simply installing VLC is the quickest and easiest way to ensure they can play almost any media file they’re likely to encounter.
Tip #9 – Set up Peripherals
Next, let’s take a look at what it takes to get some of the most common peripherals working—you know, things like printers, scanners, and Bluetooth devices.
If you don’t use any of those devices, then you can certainly skip this section. But if you think there’s a chance you’ll connect one of them in the future, it may be worth setting up support now so everything is ready when you need it.
Printers and Scanners
Let’s start with printer support. At a minimum, you’ll want to install CUPS, which is the standard printing system used on Linux:
sudo pacman -S cups cups-pdf
Then enable the printing service:
sudo systemctl enable --now cups.service
At this point, you have basic printing support. Depending on your printer, that may be all you need. Many modern printers support driverless printing and will work automatically once they’re discovered on your network.
Some manufacturers also provide additional driver packages. For example, if you have an HP printer, I recommend installing hplip:
sudo pacman -S hplip
The hplip package includes drivers and utilities for many HP printers and multifunction devices, so it’s well worth installing if you own one.
Of course, there are far too many printer models for me to cover individually. If you’d rather take the “install everything” approach, you can simply install the following packages:
sudo pacman -S \
cups \
cups-pdf \
system-config-printer \
hplip \
gutenprint \
foomatic-db \
foomatic-db-engine
That combination provides support for the vast majority of home and office printers.
If you prefer a graphical interface for managing printers, the system-config-printer package included above provides exactly that.
If your printer also includes a scanner—or if you have a standalone scanner—you may also want to install these packages:
sudo pacman -S simple-scan sane sane-airscan
The simple-scan package, which appears as Document Scanner in many desktop environments, provides an easy-to-use scanning application. The sane packages provide the backend that communicates with scanners, including support for many modern network-connected multifunction printers.
Bluetooth Support
If you’d like to use Bluetooth devices, you’ll first need to install the core Bluetooth packages:
sudo pacman -S bluez bluez-utils
Then enable the Bluetooth service:
sudo systemctl enable --now bluetooth.service
Once you’ve done that, your system is ready to use Bluetooth devices.
If you’re using a desktop environment, I also recommend installing blueman:
sudo pacman -S blueman
Blueman provides a simple graphical interface for pairing devices, managing connections, and configuring Bluetooth, making it much more convenient than working entirely from the command line.
Tip #10 – Check out the AUR
Lastly, I want to talk about the Arch User Repository, or AUR for short.
For many years, the AUR has been one of Arch Linux’s defining features. It provides community-maintained package builds for software that isn’t available in Arch’s official repositories. For example, if you wanted to install something like Google Chrome, you could download its package build from the AUR, build it locally, and install it on your system.
The biggest advantage of the AUR is the sheer amount of software that’s available. Chances are, if an application isn’t packaged in Arch’s official repositories, someone in the community has created a package build for it in the AUR.
Recently, however, the AUR received a great deal of attention after attackers took over a number of orphaned packages and inserted malicious code into their package builds. The incident affected hundreds of packages and served as an important reminder that the AUR is a community-maintained resource built on trust.
That doesn’t mean you should avoid the AUR altogether. It’s still an incredibly valuable resource, and I use it myself when it makes sense. The key is to use it thoughtfully. Whenever possible, I recommend checking whether the software you need is available in Arch’s official repositories first. If it isn’t, see if there’s a Flatpak version available. And if the AUR ends up being your best option, take a few moments to review the package build before installing it, especially if it’s a package you haven’t used before.
If you do decide to use the AUR, the easiest approach for most people is to install what’s known as an AUR helper. One of the most popular is yay.
To install it, run the following commands:
sudo pacman -Syu --needed base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
The makepkg command builds the package locally, and the -si options tell it to install any required dependencies from the official repositories before installing the newly built package.
Once yay is installed, working with the AUR becomes much more convenient. Its syntax is intentionally very similar to pacman, making it easy to search for, install, update, and remove AUR packages without having to manually build each one yourself.
And that’s it. Your Arch install should now be even more awesome!


