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-timesyncdIf system is running on an SSD
systemctl enable fstrim.timerPrinter 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.socketQt Scan Application
Use this if you use KDE Plasma or LXQt
pacman -S skanliteGTK Scan Application
Use this if you use another desktop environment
pacman -S simple-scanUI for HP Printers
🖨 Install this if you have an HP Printer
pacman -S hplipInput 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-evdevWhen installing inside a virtual machine:
pacman -S xf86-input-vmmouseGraphics Driver
Mesa
This is useful for all GPUs
pacman -S mesa lib32-mesaVulkan
This is useful for all GPUs
pacman -S vulkan-icd-loader lib32-vulkan-icd-loaderOpen 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-amdgpuis for newer AMD GPUsxf86-video-nouveauis the open source NVIDIA driverxf86-video-intelis 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-atiis for older AMD GPUsxf86-video-vmwarefor VirtualBox, VMWare, QEMUxf86-video-fbdevfor 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-libvdpauWarning
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-radeonIntel Utils
Only install this package if you are using an Intel GPU
pacman -S vulkan-intelEarly KMS start
Some systems require early KMS start to work properly. Read the Arch Wiki entry about it
nano /etc/mkinitcpio.confChange MODULES=() to
MODULES=(amdgpu)if you installedxf86-video-amdgpuMODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)if you installednvidiaMODULES=(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 -PNetworking
🖧 Those are essential networking tools
pacman -S networkmanager networkmanager-openvpn networkmanager-pptp networkmanager-vpnc
systemctl enable NetworkManagerWi-Fi connection
📶 Those are essential tools if you connect to the internet via Wi-Fi
pacman -S wireless_tools wpa_supplicant ifplugd dialogSome 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 udisks2Sound
🔊 Some essential packages for sound
PulseAudio
Default audio server for Linux
pacman -S alsa-utils pulseaudio-alsa pulseaudio-equalizerSee 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.paPut this in the file and save it:
unload-module module-role-corkPipeWire
Alternatively use can PipeWire:
pacman -S alsa-utils pipewire pipewire-pulse pipewire-jack wireplumberSee https://wiki.archlinux.org/title/PipeWire
Control app
For Qt based desktops (e.g. KDE Plasma or LXQt)
pacman -S pavucontrol-qtFor GTK based desktop (another desktop environment)
pacman -S pavucontrolBluetooth 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-bluetoothADB
If you want the Android Debug Bridge working with your user:
pacman -S android-tools android-udev
usermod -aG adbusers yourusernameOther shells
🐚 You may want to use another shell than bash
zsh (Z Shell)
pacman -S zsh zsh-completions
chsh -s /usr/bin/zsh yourusernamefish (Friendly interactive shell)
pacman -S fish
chsh -s /usr/bin/fish yourusername