Useful packages
General packages
pacman -S linux-headers dkms
pacman -S jshon expac git wget acpid avahi net-tools xdg-user-dirs
systemctl enable acpid avahi-daemon systemd-timesyncd
If system is running on an SSD
systemctl enable fstrim.timer
Printer support
🖨️ Add some packages needed for printing and scanning
General packages
pacman -S system-config-printer foomatic-db foomatic-db-engine gutenprint gsfonts cups cups-pdf cups-filters sane
systemctl enable cups.service saned.socket
Qt Scan Application
Use this if you use KDE Plasma or LXQt
pacman -S skanlite
GTK Scan Application
Use this if you use another desktop environment
pacman -S simple-scan
UI for HP Printers
🖨 Install this if you have an HP Printer
pacman -S hplip
Input Driver
These are some packages needed for certain input devices to function properly. It does no harm to install them, even if you wouldn't need them
pacman -S xf86-input-synaptics xf86-input-libinput xf86-input-evdev
When installing inside a virtual machine:
pacman -S xf86-input-vmmouse
Graphics Driver
Mesa
This is useful for all GPUs
pacman -S mesa lib32-mesa
Vulkan
This is useful for all GPUs
pacman -S vulkan-icd-loader lib32-vulkan-icd-loader
Open Source drivers
Only install this if you use an AMD or Intel GPU or want to use the open source NVIDIA driver (Nouveau, not developed by NVIDIA)
pacman -S <driver>
xf86-video-amdgpu
is for newer AMD GPUsxf86-video-nouveau
is the open source NVIDIA driverxf86-video-intel
is the open source Intel driver (You probably want to leave this out, and it will use the modesetting driver. For more information refer to the wiki)xf86-video-ati
is for older AMD GPUsxf86-video-vmware
for VirtualBox, VMWare, QEMUxf86-video-fbdev
for Hyper-V- If you don't know it you can install all, but it could happen that the internal graphics card is used if you install the driver for it
Nvidia proprietary driver
Only install these packages if you are using an NVIDIA GPU
pacman -S nvidia nvidia-utils lib32-nvidia-utils libvdpau lib32-libvdpau
Warning
NVIDIA's Linux drivers have a bad reputation when it comes to stability and compatibility with all systems. If you experience any problems later on consult https://wiki.archlinux.org/title/NVIDIA for troubleshooting.
AMD Utils
Only install these packages if you are using an AMD GPU
pacman -S libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau libva-vdpau-driver lib32-libva-vdpau-driver vulkan-radeon lib32-vulkan-radeon
Intel Utils
Only install this package if you are using an Intel GPU
pacman -S vulkan-intel
Early KMS start
Some systems require early KMS start to work properly. Read the Arch Wiki entry about it
nano /etc/mkinitcpio.conf
Change MODULES=()
to
MODULES=(amdgpu)
if you installedxf86-video-amdgpu
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
if you installednvidia
MODULES=(i915)
if you are using Intel graphics- for any other driver you can skip this step
Remove kms
inside HOOKS=()
if you installed nvidia
and run
mkinitcpio -P
Networking
🖧 Those are essential networking tools
pacman -S networkmanager networkmanager-openvpn networkmanager-pptp networkmanager-vpnc
systemctl enable NetworkManager
Wi-Fi connection
📶 Those are essential tools if you connect to the internet via Wi-Fi
pacman -S wireless_tools wpa_supplicant ifplugd dialog
Some archive and file system utils
🗄️ Important tools for archives and file systems
pacman -S p7zip unrar unarchiver unzip unace xz rsync
pacman -S nfs-utils cifs-utils ntfs-3g exfat-utils gvfs udisks2
Sound
🔊 Some essential packages for sound
PulseAudio
Default audio server for Linux
pacman -S alsa-utils pulseaudio-alsa pulseaudio-equalizer
See https://wiki.archlinux.org/title/PulseAudio
Fix muting some media players
🔇 PulseAudio by default might mute media applications when entering a voice call. To disable this:
mkdir -p /etc/pulse/default.pa.d
nano /etc/pulse/default.pa.d/no-cork.pa
Put this in the file and save it:
unload-module module-role-cork
PipeWire
Alternatively use can PipeWire:
pacman -S alsa-utils pipewire pipewire-pulse pipewire-jack wireplumber
See https://wiki.archlinux.org/title/PipeWire
Control app
For Qt based desktops (e.g. KDE Plasma or LXQt)
pacman -S pavucontrol-qt
For GTK based desktop (another desktop environment)
pacman -S pavucontrol
Bluetooth support
🔵 Add some packages needed for proper bluetooth support
pacman -S bluez bluez-utils
systemctl enable bluetooth
# only if you installed PulseAudio in the previous step:
pacman -S pulseaudio-bluetooth
ADB
If you want the Android Debug Bridge working with your user:
pacman -S android-tools android-udev
usermod -aG adbusers yourusername
Other shells
🐚 You may want to use another shell than bash
zsh (Z Shell)
pacman -S zsh zsh-completions
chsh -s /usr/bin/zsh yourusername
fish (Friendly interactive shell)
pacman -S fish
chsh -s /usr/bin/fish yourusername