Skip to content

Useful packages ​

General packages ​

bash
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

bash
systemctl enable fstrim.timer

Printer support ​

🖨️ Add some packages needed for printing and scanning

General packages ​

bash
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

bash
pacman -S skanlite

GTK Scan Application ​

Use this if you use another desktop environment

bash
pacman -S simple-scan

UI for HP Printers ​

🖨 Install this if you have an HP Printer

bash
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

bash
pacman -S xf86-input-synaptics xf86-input-libinput xf86-input-evdev

When installing inside a virtual machine:

bash
pacman -S xf86-input-vmmouse

Graphics Driver ​

Mesa ​

This is useful for all GPUs

bash
pacman -S mesa lib32-mesa

Vulkan ​

This is useful for all GPUs

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

bash
pacman -S <driver>
  • xf86-video-amdgpu is for newer AMD GPUs
  • xf86-video-nouveau is the open source NVIDIA driver
  • xf86-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 GPUs
  • xf86-video-vmware for VirtualBox, VMWare, QEMU
  • xf86-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

bash
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

bash
pacman -S libva-mesa-driver lib32-libva-mesa-driver vulkan-radeon lib32-vulkan-radeon

Intel Utils ​

Only install this package if you are using an Intel GPU

bash
pacman -S vulkan-intel

Early KMS start ​

Some systems require early KMS start to work properly. Read the Arch Wiki entry about it

bash
nano /etc/mkinitcpio.conf

Change MODULES=() to

  • MODULES=(amdgpu) if you installed xf86-video-amdgpu
  • MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) if you installed nvidia
  • 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

bash
mkinitcpio -P

Networking ​

🖧 Those are essential networking tools

bash
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

bash
pacman -S wireless_tools wpa_supplicant ifplugd dialog

Some archive and file system utils ​

🗄️ Important tools for archives and file systems

bash
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

bash
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:

bash
mkdir -p /etc/pulse/default.pa.d
nano /etc/pulse/default.pa.d/no-cork.pa

Put this in the file and save it:

ini
unload-module module-role-cork

Source: https://wiki.archlinux.org/index.php/PulseAudio#Disable_muting_media_on_entering_voice_call_(module-role-cork)

PipeWire ​

Alternatively use can PipeWire:

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

bash
pacman -S pavucontrol-qt

For GTK based desktop (another desktop environment)

bash
pacman -S pavucontrol

Bluetooth support ​

🔵 Add some packages needed for proper bluetooth support

bash
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:

bash
pacman -S android-tools android-udev
usermod -aG adbusers yourusername

Other shells ​

🐚 You may want to use another shell than bash

zsh (Z Shell) ​

bash
pacman -S zsh zsh-completions
chsh -s /usr/bin/zsh yourusername

fish (Friendly interactive shell) ​

bash
pacman -S fish
chsh -s /usr/bin/fish yourusername

Made by D3SOX with ❤️