🔗1. Core System
These packages form the absolute foundation of the operating system. Without them, the machine will not boot or function correctly.
🔗Base System
The minimal package set required for a bootable Arch Linux installation. It includes the GNU core utilities, the C library, systemd, and the Pacman package manager. Without this layer, the system simply does not exist.
- Examples:
base,base-devel - Why it matters:
basepulls in the fundamental userspace tools needed to interact with the system, whilebase-develprovides the compilation toolchain (gcc,make,fakeroot) required to build packages from the Arch User Repository (AUR) or compile software from source.
🔗Linux Kernel
The core software layer managing memory, processes, hardware devices, and system calls. The kernel acts as the bridge between your physical hardware and your software applications. Arch ships the vanilla upstream kernel by default, though alternatives exist with modified scheduling, patching, or hardening characteristics.
- Examples:
linux,linux-lts,linux-zen,linux-hardened,linux-headers - Why it matters: The standard
linuxkernel moves fast and tracks stable upstream releases.linux-ltsprovides long-term support, which is invaluable as a reliable fallback if a leading-edge driver breaks.linux-zenapplies tuning and scheduling tweaks optimised for desktop responsiveness and low-latency workloads. Thelinux-headerspackage is strictly required to compile out-of-tree kernel modules for custom hardware drivers, virtualization software, or virtual private networks.
🔗Firmware
Binary blobs loaded by the kernel onto hardware devices during the boot sequence. This includes graphics unit microcode, wireless network interfaces, audio digital signal processors, and NVMe controllers. Missing firmware results in uninitialised hardware or severely degraded performance.
- Examples:
linux-firmware,sof-firmware - Why it matters: Modern hardware relies heavily on proprietary firmware blobs to initialise hardware controllers. Without
linux-firmware, your Wi-Fi card will not scan for networks and your GPU will fail to accelerate graphics.sof-firmware(Sound Open Firmware) is critical for modern laptop audio routing and digital microphone arrays.
🔗CPU Microcode
Processor-specific stability and security updates applied by the bootloader or initramfs before the operating system initialises. These patches address hardware errata directly at the silicon level without requiring a motherboard BIOS update.
- Examples:
intel-ucode,amd-ucode - Why it matters: Silicon is rarely bug-free. Microcode updates mitigate critical processor vulnerabilities and hardware stability bugs. You install the specific package corresponding to your processor manufacturer, and the system applies the patches into the CPU registers during early boot.
🔗Bootloader
The initial executable initiated by the motherboard firmware (UEFI or BIOS). It locates the kernel image, passes command-line parameters, and transfers execution control to the operating system. Without a bootloader, the system will not start.
- Examples:
grub,efibootmgr,systemd-boot,refind,sbctl - Why it matters:
grubis the traditional, feature-rich bootloader capable of handling complex storage configurations like LUKS encryption and LVM out of the box.efibootmgrinteracts directly with motherboard UEFI variables to modify boot order entries.systemd-bootoffers a minimalist, lightweight alternative integrated directly into the systemd ecosystem. For users requiring Secure Boot verification,sbctlautomates the creation and enrolment of custom cryptographic keys.
🔗Init System
The primary user-space process (PID 1) started by the kernel. It mounts filesystems, initialises hardware daemons, manages system services, and orchestrates user sessions. Arch Linux relies on systemd as its default init software. You do not replace this unless you know exactly why.
- Examples:
systemd - Why it matters: systemd is more than just an init system; it is a suite of system management building blocks. It manages service dependencies, socket activation, logging (
journald), device management (udev), and user session tracking (systemd-logind).
🔗Filesystem Utilities
User-space tools required to create, check, resize, and repair filesystems. You also need these packages to mount external storage formatted with non-native filesystems such as Windows NTFS or FAT32 partitions.
- Examples:
xfsprogs(XFS),e2fsprogs(ext4),dosfstools(FAT32),btrfs-progs(Btrfs),ntfs-3g(NTFS),exfatprogs(exFAT) - Why it matters: The kernel contains the drivers to read and write to filesystems, but userspace utilities are required to format (
mkfs), label, or repair (fsck) those volumes. Installing tools likentfs-3gandexfatprogsensures seamless read and write compatibility when connecting external drives or USB flash media from Windows and macOS environments.
🔗Man Pages
The local manual and documentation system. Installing these ensures you have complete offline technical references for shell commands, system calls, and configuration syntax. Without this, you will rely on the internet for every minor syntax query.
- Examples:
man-db,man-pages,texinfo - Why it matters:
man-dbprovides the reading engine and manual indexing, whileman-pagessupplies the documentation for Linux system calls, C library functions, and kernel interfaces. A terminal-first workflow relies heavily on local documentation for immediate problem solving.
🔗Time Synchronisation
Network Time Protocol (NTP) daemons maintain accurate system clocks by querying external time servers. An uncalibrated clock causes HTTPS certificate validation failures, authentication token rejection, and inaccurate system logging.
- Examples:
systemd-timesyncd,chrony - Why it matters:
systemd-timesyncdis already present on most Arch installations and handles lightweight, SNTP-based clock synchronisation perfectly for standard workstations.chronyis a robust alternative designed for hardware that frequently sleeps, disconnects from the network, or requires sub-millisecond precision.
🔗Disk Encryption
Cryptographic tools that secure physical storage volumes against unauthorised offline access. If you implement LUKS encryption during installation, cryptsetup manages container unlocking at boot.
- Examples:
cryptsetup,lvm2,veracrypt - Why it matters:
cryptsetupprovides the command-line interface for configuring LUKS (Linux Unified Key Setup) volumes, ensuring data remains unreadable without the correct decryption passphrase or keyfile.lvm2provides Logical Volume Management, allowing you to carve a single encrypted LUKS container into flexible, resizable logical volumes for root, home, swap, and system variable storage.
🔗2. Display & Compositor
🔗Wayland Compositor
The core software managing window placement, input device routing, output display configurations, and graphical rendering. On a standard desktop environment like GNOME or KDE, the compositor is bundled in. On a standalone window manager setup, it is its own standalone package. On Wayland, the compositor functions simultaneously as the window manager and the display server.
- Examples:
niri,sway,river,hyprland - Why it matters:
nirioperates as a scrollable-tiling Wayland compositor designed for dynamic, keyboard-driven workflows, arranging windows in an infinite horizontal ribbon.swayprovides a drop-in Wayland replacement for the i3 tiling window manager.riveris a dynamic tiling compositor built around custom tags and programmable layout generators.
🔗Display Manager (Login Manager)
A graphical or terminal-based login interface that authenticates user credentials and initialises the desktop session environment. While you can initiate a compositor directly from a terminal console using a shell script or session wrapper, a display manager automates the login sequence cleanly.
- Examples:
ly,greetd(withtuigreet),sddm,gdm - Why it matters:
lyis a lightweight, TUI-based display manager that renders cleanly in the console without pulling in heavy graphical toolkit dependencies.greetdis a minimal, agnostic login daemon that pairs with greeters liketuigreetto provide a fast, terminal-styled authentication prompt.
🔗Wayland Session Manager
A utility that launches a Wayland compositor within a structured systemd user session. This ensures environment variables export correctly, D-Bus user buses initialise, and desktop portal services bind to the session cleanly.
- Examples:
uwsm - Why it matters:
uwsm(Universal Wayland Session Manager) wraps the execution of Wayland compositors into dedicated systemd scope units. This solves longstanding race conditions where desktop portals, audio servers, and authentication agents fail to start because they cannot locate the active display server socket or D-Bus session variables.
🔗XDG Desktop Portal
Standardised D-Bus interfaces enabling sandboxed applications and native Wayland programs to access desktop integration features safely. Portals handle screen sharing, file selection dialogs, camera access, and URI opening. A standard deployment requires a desktop-specific portal alongside a GUI toolkit fallback.
- Examples:
xdg-desktop-portal-gnome,xdg-desktop-portal-gtk,xdg-desktop-portal-wlr,xdg-desktop-portal-hyprland - Why it matters: Without the correct desktop portals running, web browsers cannot capture your screen during video calls, applications cannot spawn native file saving dialogs, and Flatpak software remains completely isolated from system services. You typically install the portal matching your compositor ecosystem alongside
xdg-desktop-portal-gtkas a universal fallback for GTK-based applications.
🔗XWayland
An X11 server running as a Wayland client. It provides backwards compatibility for legacy applications that lack native Wayland support, allowing them to render inside your compositor.
- Examples:
xwayland,xorg-xwayland - Why it matters: While most modern Linux software is Wayland-native, older proprietary binaries, specific video games, and legacy development tools still rely on the X11 rendering protocol.
xwaylandtranslates those X11 drawing commands into Wayland surfaces seamlessly, preventing application crashes and rendering failures.
🔗GPU Drivers
User-space graphics drivers and graphics API implementations (OpenGL and Vulkan) that allow applications to utilise hardware rendering. Without these libraries, the system falls back to software rendering, resulting in high CPU usage and severe visual latency.
- Examples:
mesa,vulkan-intel,intel-media-driver,vulkan-radeon,nvidia,nvidia-utils - Why it matters:
mesaprovides the open-source OpenGL and Vulkan implementations for AMD and Intel graphics hardware. For Intel integrated GPUs,vulkan-inteldelivers low-level Vulkan API access. Without these user-space drivers installed, your window compositor will struggle to composite windows smoothly, and graphical applications will render at a crawl.
🔗Video Acceleration
Hardware-accelerated video encoding and decoding libraries. Offloading video decoding to the integrated or discrete graphics unit reduces CPU thermal load and significantly extends laptop battery autonomy.
- Examples:
intel-media-driver,libva-mesa-driver,libva-utils - Why it matters: When streaming video or playing high-resolution media files, hardware acceleration routes the decoding workload directly to dedicated ASIC chips on the GPU.
intel-media-driverprovides VA-API support for modern Intel integrated graphics (Broadwell and newer).libva-utilsincludes thevainfocommand-line diagnostic tool, used to verify that the system correctly recognises your video decoding hardware.
🔗Display Configuration Utilities
Tools for managing display resolutions, monitor positioning, refresh rates, and scaling factors. While compositors manage outputs natively via their config files, utility software aids in debugging complex multi-monitor layouts or automating profile switching.
- Examples:
wdisplays,kanshi,nwg-displays - Why it matters:
wdisplaysprovides a graphical interface similar to standard display settings panels, allowing you to drag and arrange display outputs visually.kanshiis a background daemon that monitors connected display outputs and automatically applies pre-configured monitor profiles when you dock or undock a laptop from external monitors.
🔗3. Desktop Environment Components
Standalone window managers and compositors require you to assemble the functional desktop environment independently by linking modular utilities together.
🔗Status Bar (Panel)
A persistent visual interface displaying system diagnostics, active workspaces, clock telemetry, battery percentages, and network state. Wayland bars communicate directly with the compositor via IPC protocols.
- Examples:
waybar,eww,yambar,ironbar - Why it matters:
waybaris the standard, highly configurable Wayland panel styled using CSS and JSON. It integrates natively with custom modules and scripts.eww(Elkowars Wacky Widgets) allows you to construct complex, custom widget layouts using an XML-like configuration syntax.yambaroffers a minimalistic, lightweight alternative configured via simple YAML files.
🔗Application Launcher
A dynamic, keyboard-driven menu system used to execute binaries, search local directories, or switch between active window states. Without one, you either open a terminal for every command or bind every application to a rigid keyboard shortcut.
- Examples:
fuzzel,wofi,tofi,rofi-wayland - Why it matters:
fuzzelis an extremely fast, lightweight Wayland-native launcher designed specifically for keyboard efficiency and low resource usage.rofi-waylandis a Wayland-ported fork of the classicrofiutility, offering extensive theming capabilities, custom script modes, and clipboard history browsing integration.
🔗Notification Daemon
A background service that receives, formats, and displays visual notifications sent by desktop applications over D-Bus. Without a notification daemon, desktop alerts are silently dropped by the system.
- Examples:
mako,swaync,dunst - Why it matters:
makois a lightweight, Wayland-native notification daemon designed to render clean popups on lightweight compositors.swaync(Sway Notification Center) replaces simple popups with a full GTK-based notification drawer, providing action buttons, do-not-disturb toggles, and widget support.
🔗Screen Lock
Security software that intercepts user input and renders an authentication prompt over the display outputs when the workstation is left unattended. The lock screen sits between your unattended machine and anyone who walks up to it.
- Examples:
swaylock,swaylock-effects,waylock,hyprlock - Why it matters:
swaylockis the standard Wayland screen locking utility, binding directly to Wayland secure input protocols to prevent unauthorized session access.swaylock-effectsextends the base package by adding visual features such as real-time desktop blurring, clock rendering, and custom screenshots.
🔗Idle Daemon
A background monitoring service that executes scheduled commands after defined periods of user inactivity, such as dimming displays, triggering the screen locker, or suspending hardware.
- Examples:
swayidle,hypridle - Why it matters:
swayidlelistens to Wayland input events and executes shell commands when timers expire. It is typically configured to lock the screen after five minutes of inactivity, power down display monitors after ten minutes, and suspend the workstation after thirty minutes, protecting both machine security and battery life.
🔗Wallpaper Setter
Wayland-native background utilities designed to render static images or solid colours onto the root desktop surface. X11 wallpaper utilities will not function inside a Wayland environment.
- Examples:
swaybg,swww,mpvpaper - Why it matters:
swaybgis a lightweight, efficient utility that scales and renders background images with negligible system overhead.swwwoffers dynamic, animated wallpaper transitions using custom shaders.mpvpaperallows you to set running video files as your live background by rendering the output of thempvmedia player directly onto the desktop surface.
🔗Polkit Authentication Agent
An interactive graphical prompt triggered when an unprivileged user process requests elevated system permissions (such as mounting internal drives or modifying network profiles). Without one, GUI privilege escalation requests fail silently.
- Examples:
polkit-gnome,polkit-kde-agent,hyprpolkitagent,lxqt-policykit - Why it matters: Polkit acts as the system-wide authorization manager. When a standard desktop application needs to perform an administrative task without invoking
sudoin a terminal, it calls Polkit. The authentication agent catches this request and presents a password dialog window, allowing secure privilege escalation.
🔗Keyring (Secret Storage)
An encrypted local credential store implementing the Freedesktop Secret Service API. Web browsers, email clients, and development tools rely on this daemon to store authentication tokens securely without writing plaintext files to disk.
- Examples:
gnome-keyring,keepassxc,seahorse,libsecret - Why it matters: If your system lacks an active secret service daemon, applications like Firefox, Thunderbird, and Git credential helpers will repeatedly prompt for passwords on every launch, or fail to save OAuth tokens entirely.
gnome-keyringruns silently in the background, unlocking automatically when you log into your system session.keepassxccan also act as the system secret service, routing all authentication storage directly into your primary password database.
🔗Clipboard Manager
Wayland buffers clear clipboard contents immediately upon closing the source application. A clipboard manager daemonizes running copy events, preserving history in memory and providing search access to previously copied text or images.
- Examples:
cliphist,clipman,wl-clipboard - Why it matters:
wl-clipboardprovides the underlying command-line tools (wl-copyandwl-paste) required to interact with the Wayland clipboard from shell scripts and terminal applications.cliphistworks alongsidewl-clipboardby recording every copied text string or image surface into a local database, which you can subsequently query and paste using application launchers likerofiorfuzzel.
🔗Screenshot Utilities
Software leveraging Wayland screencopy protocols to capture full screen outputs, specific windows, or defined graphical coordinates.
- Examples:
grim,slurp,swappy,hyprshot - Why it matters: Traditional X11 screenshot tools cannot grab Wayland surfaces due to strict graphical protocol sandboxing.
grim(Grab Images) communicates directly with the compositor to capture visual buffers. It is almost always paired withslurp, an interactive command-line utility that lets you click and drag a selection rectangle across the screen to feed precise coordinates back intogrim.swappyacts as a post-capture annotation tool, popping up automatically to let you draw arrows, highlight text, and crop screenshots before saving or copying them.
🔗Screen Recorder
Video capture software utilising Wayland desktop portals or direct protocol access to record desktop activity to media files.
- Examples:
wf-recorder,gpu-screen-recorder,obs-studio - Why it matters:
wf-recorderis a command-line utility that captures video feeds from Wayland compositors using thewlr-screencopyprotocol, encoding streams directly via FFmpeg.gpu-screen-recorderleverages hardware-accelerated NVENC, VA-API, or QuickSync encoding paths to record screen output with almost zero impact on system CPU resources.
🔗Colour Picker
A lightweight utility that samples pixel colour values from the display output and formats them as hexadecimal or RGB strings for theming workflows.
- Examples:
hyprpicker,wl-color-picker,gpick - Why it matters: When modifying window manager border colours, terminal colour palettes, or web CSS files, a Wayland-native colour picker allows you to freeze the screen cursor and extract precise hex codes from any visible pixel on your monitors.
🔗On-Screen Display (OSD)
Visual overlay indicators triggered during hardware state modifications, such as adjusting audio volume, muting microphones, or changing backlight levels.
- Examples:
swayosd,avizo,libnotifyscripts vianotify-send - Why it matters: When pressing keyboard media keys to adjust system speaker volume or monitor brightness, an OSD provides immediate visual confirmation of the new hardware state. Without this visual feedback, you are adjusting system levels completely blind.
🔗4. Audio
🔗Audio Server
The low-level audio processing engine bridging application hardware requests with the Linux kernel sound subsystem (ALSA). PipeWire handles dynamic audio routing, Bluetooth sink management, and low-latency professional audio processing while providing full backwards compatibility for PulseAudio and JACK applications.
- Examples:
pipewire,pipewire-pulse,pipewire-alsa,pipewire-jack,wireplumber - Why it matters: PipeWire has completely replaced legacy PulseAudio on modern Linux systems. It unifies consumer audio playback with professional, low-latency audio production.
wireplumberacts as the mandatory session and policy manager for PipeWire, handling device connection rules, volume persistence, and audio routing profiles. Installingpipewire-pulseandpipewire-alsaensures legacy software seamlessly outputs audio without modification.
🔗Volume Control (Mixer)
Graphical or terminal interfaces for routing application audio streams, selecting input hardware, and adjusting channel gain levels.
- Examples:
pavucontrol(GUI),pulsemixer(TUI),pamixer(CLI),wpctl - Why it matters: While the audio server runs invisibly in the background, mixer utilities provide the controls required to mute specific application tabs, switch audio output from internal laptop speakers to Bluetooth headphones, and boost microphone input levels.
pavucontrolis the gold-standard graphical mixer, whilepulsemixerprovides an efficient, ncurses-based interface for terminal-first workflows.wpctlis the native command-line tool for WirePlumber, perfect for binding volume adjustments to keyboard media keys.
🔗5. Networking
🔗Network Manager
System daemons managing network interfaces, wireless authentication, DHCP leases, and routing tables.
- Examples:
networkmanager,iwd,connman - Why it matters:
networkmanageris the robust, industry-standard daemon that handles wired ethernet, complex Wi-Fi authentication (WPA2/WPA3, 802.1x), and network bridging automatically.iwd(iNet Wireless Daemon) is a modern, lightweight wireless daemon developed by Intel that can operate as a standalone Wi-Fi backend for NetworkManager, replacing legacywpa_supplicantwith significantly faster scanning and connection speeds.
🔗Network Manager Frontend
User-space applications providing interfaces to manage Wi-Fi connections and stored network profiles without manual command-line configuration.
- Examples:
nm-applet,nmtui,networkmanager-dmenu - Why it matters: While NetworkManager runs as a system daemon, frontends provide ergonomic ways to interact with it.
nmtuiprovides an intuitive text-user interface inside the terminal for selecting Wi-Fi networks and editing static IP tables.nm-appletsits in your Wayland status bar tray, offering quick graphical access to network toggles.
🔗DNS Resolver
Services managing domain name translation. Configuring local caching resolvers or encrypted protocols (DNS-over-HTTPS or DNS-over-TLS) prevents ISP DNS tampering and query interception.
- Examples:
systemd-resolved,dnscrypt-proxy,stubby - Why it matters: By default, standard DNS queries are transmitted in plain text, allowing network eavesdroppers or internet service providers to log your browsing destinations.
systemd-resolvedprovides local DNS caching and native DNS-over-TLS validation out of the box.dnscrypt-proxyroutes all system domain lookups through encrypted DNSCrypt or DoH relays, ensuring complete query privacy.
🔗VPN Client
Software creating encrypted network tunnels to remote infrastructure or privacy providers.
- Examples:
wireguard-tools,openvpn,networkmanager-openvpn - Why it matters:
wireguard-toolsprovides the userspace utilities (wg,wg-quick) required to configure WireGuard, a modern, extremely fast kernel-space VPN protocol utilizing state-of-the-art cryptography.openvpnremains necessary for connecting to legacy corporate networks and traditional commercial VPN providers.
🔗Firewall
Packet filtering interfaces regulating incoming and outgoing network traffic at the kernel level.
- Examples:
ufw,nftables,iptables-nft,gufw - Why it matters: The Linux kernel includes
nftablesas its modern packet filtering framework. Directly editing rawnftablesrules can be complex;ufw(Uncomplicated Firewall) provides a simplified command-line interface for establishing default-deny incoming policies and opening specific network ports safely.
🔗Remote Access Daemons
Secure Shell server and client utilities for remote command execution and encrypted file transfer.
- Examples:
openssh - Why it matters:
opensshprovides thesshclient tool required to access remote servers, git repositories, and headless hardware. Enabling the includedsshddaemon allows secure remote administration of your local machine over encrypted network sockets.
🔗Anonymity Networks
Software routing TCP traffic through distributed network relays to obfuscate origin IP addresses.
- Examples:
tor,torsocks - Why it matters: The
tordaemon establishes multi-hop onion routing circuits across globally distributed volunteer nodes. Thetorsocksutility wraps standard command-line applications (curl,ssh,git), forcing their TCP connections transparently through the Tor proxy network to prevent IP address leaks.
🔗Network Diagnostics
Utilities used to inspect routing paths, test port reachability, query DNS servers, and measure link throughput.
- Examples:
nmap,traceroute,iperf3,bind,openbsd-netcat,tcpdump - Why it matters: When networking breaks, basic
pingcommands are rarely enough.nmapscans network targets for open ports and listening services.iperf3measures maximum real-world bandwidth between two network endpoints. Thebindpackage suppliesdigandnslookup, essential CLI tools for diagnosing domain name propagation and interrogating DNS records.openbsd-netcat(nc) is the Swiss-Army knife of networking, capable of reading and writing arbitrary TCP and UDP data streams for socket debugging.
🔗6. Input & Hardware
🔗Input Remapper
System daemons intercepting kernel input events to reassign key codes, modify modifier behaviors, or implement custom layers across all attached keyboards and pointing devices.
- Examples:
keyd,xremap,interception-tools - Why it matters: System-level input remappers operate directly on kernel
/dev/input/event*devices, making your custom keyboard mappings universal across console TTYs, Wayland compositors, and X11 fallback applications.keydallows you to effortlessly map CapsLock to Control when held and Escape when tapped, or construct custom ergonomic navigation layers without requiring QMK hardware programmable keyboards.
🔗Brightness Control
Command-line utilities adjusting display backlight brightness via sysfs hardware interfaces.
- Examples:
brightnessctl,light - Why it matters: Standard user accounts lack direct write permissions to
/sys/class/backlight/kernel controls.brightnessctlsafely interfaces with these hardware nodes, allowing you to bind display brightness increase and decrease commands directly to laptop function keys inside your compositor configuration.
🔗Fingerprint Reader
Hardware drivers and PAM integration daemons enabling biometric authentication for login, screen unlocking, and privilege escalation.
- Examples:
fprintd,libfprint - Why it matters: If your hardware includes an integrated fingerprint sensor,
libfprintprovides the necessary hardware communication drivers. Thefprintddaemon integrates this functionality into the Pluggable Authentication Module (PAM) architecture, allowing you to authenticatesudocommands, unlock your screen locker, and log into your display manager with a finger scan.
🔗Power Management
Automated system services optimising laptop power consumption by regulating CPU frequency scaling, PCI bus power states, and Wi-Fi radio power management.
- Examples:
tlp,tlp-rdw,powertop,auto-cpufreq,power-profiles-daemon - Why it matters: Out of the box, Linux kernel default power settings prioritise hardware compatibility over maximum battery conservation.
tlpoperates as an automated background daemon that dynamically tunes USB autosuspend rules, PCIe Active State Power Management (ASPM), and processor scaling governors based on whether the machine is connected to AC power or running on battery.powertopis an interactive diagnostic tool by Intel that breaks down real-time power consumption by process and hardware bus.
🔗Bluetooth Stack
The core hardware daemons and pairing managers required to operate Bluetooth interfaces and peripheral devices.
- Examples:
bluez,bluez-utils,blueman,bluetui - Why it matters:
bluezis the official Linux Bluetooth protocol stack daemon (bluetoothd). Thebluez-utilspackage suppliesbluetoothctl, the interactive command-line utility used to scan, pair, trust, and connect wireless headsets, mice, and keyboards.bluemanprovides a full graphical management panel, whilebluetuioffers a fast terminal interface for managing wireless devices.
🔗Storage Diagnostics
Monitoring utilities querying drive firmware for S.M.A.R.T. telemetry to identify failing NVMe or SATA storage blocks before catastrophic data loss occurs.
- Examples:
smartmontools,nvme-cli - Why it matters: Solid-state drives and mechanical disks track internal wear leveling, reallocation event counts, and temperature logs within their onboard controllers. The
smartmontoolspackage providessmartctl, which queries this Self-Monitoring, Analysis, and Reporting Technology data, allowing you to identify hardware degradation and replace storage media before read/write failures occur. For NVMe storage arrays,nvme-clicommunicates directly with controller registers to format drives, update controller firmware, and inspect health logs.
🔗7. Theming & Appearance
🔗Fonts
A complete typographic stack requires distinct categories to handle code rendering, UI layouts, document reading, and iconography correctly.
- Monospace (Nerd Font patched):
ttf-jetbrains-mono-nerd,ttf-firacode-nerd,ttf-hack-nerd - Sans-Serif (Interface):
inter-font,noto-fonts,ttf-ubuntu-font-family - Serif (Documents):
adobe-source-serif-fonts,noto-serif - Emoji:
noto-fonts-emoji,ttf-twemoji - Font Management:
font-manager,fontconfig - Why it matters: Terminal emulators and text editors require fixed-width Monospace fonts. Patching these fonts with "Nerd Font" glyphs embeds thousands of custom icons into the typography, ensuring status bars (
waybar), directory listings (eza), and shell prompts (starship) render visual icons correctly rather than broken rectangle characters. Sans-Serif fonts govern graphical application interfaces and web rendering, while Serif fonts provide optimal readability for long-form PDF document viewing and word processing. Installingnoto-fonts-emojiprevents web browsers and messaging clients from rendering missing emoji glyphs as empty boxes.
🔗Icon Theme
Vector and raster icon packs utilised by graphical applications for file types, directory markers, and interface buttons. Always include the fallback theme to prevent missing icon rendering errors.
- Examples:
papirus-icon-theme,hicolor-icon-theme - Why it matters: Graphical file managers and application launchers rely on standardised icon naming specifications to render directory folders, file type badges, and system action buttons.
papirus-icon-themeis a comprehensive, modern SVG icon suite.hicolor-icon-thememust always be installed; it acts as the freedesktop.org mandatory fallback icon theme. If an application requests an icon missing from your primary theme, the system gracefully falls back tohicolorinstead of displaying a broken graphical artifact.
🔗Cursor Theme
Graphical pointer assets used by the Wayland display server.
- Examples:
bibata-cursor-theme,capitaine-cursors,xcursor-themes - Why it matters: By default, bare window manager environments fall back to rudimentary, unstyled cursor pointers that change size and shape unpredictably when moving across different application window surfaces. Installing a unified cursor theme like
bibata-cursor-themeand defining it explicitly in your environment variables ensures consistent pointer rendering across all Wayland and XWayland windows.
🔗GTK Theming & Settings
Configuration utilities and stylesheets controlling the visual rendering of GTK2, GTK3, and GTK4 applications.
- Examples:
nwg-look,adwaita-dark,catppuccin-gtk-theme - Why it matters: Applications built using GNOME's GTK toolkit (such as Firefox, Thunderbird, and Thunar) require explicit theming instructions to avoid clashing visually with dark terminal aesthetics.
nwg-lookis a Wayland-native GTK configuration utility that allows you to apply unified themes, custom icons, and cursor sets across your desktop without manually editing underlying~/.config/gtk-3.0/settings.inifiles.
🔗Qt Theming
Integration layers mapping Qt application rendering engines to match GTK desktop colour schemes and widget styling.
- Examples:
qt5ct,qt6ct,kvantum,qt5-wayland,qt6-wayland - Why it matters: Applications developed with the Qt toolkit (such as qBittorrent, VLC, and KeePassXC) render using completely different design engines from GTK software. Without configuration, Qt applications display with glaring, unstyled Windows-95-era grey widgets.
qt5ctandqt6ctact as environment controllers, forcing Qt applications to inherit unified colour palettes.kvantumis an SVG-based theme engine that allows Qt applications to perfectly mimic modern GTK desktop themes. Installingqt5-waylandandqt6-waylandensures these applications run natively on Wayland without falling back to blurry XWayland rendering.
🔗8. Shell & Terminal
🔗Terminal Emulator
The graphical window container hosting command-line interfaces. GPU-accelerated terminals offload text rendering grids to the graphics card for improved display latency.
- Examples:
kitty,foot,alacritty,wezterm,ghostty - Why it matters: In a terminal-centric workflow, the terminal emulator is your primary interface.
footis an exceptionally lightweight, minimalist Wayland-native terminal designed for speed and minimal memory consumption, featuring a client-server architecture.kittyis a feature-rich, GPU-accelerated terminal supporting advanced image rendering protocols, ligatures, and scripting layouts.alacrittyfocuses purely on OpenGL-accelerated rendering performance and stability without bundling graphical configuration tabs or scrollback manipulation features.
🔗Command Shell
The primary command interpreter. While Bash is the default POSIX shell on Arch Linux, Zsh and Fish provide advanced interactive tab-completion and scripting ecosystems.
- Examples:
bash,zsh,fish - Why it matters: The shell interprets your commands and executes scripts.
bashis ubiquitous and essential for POSIX compliance.zshprovides an extensible interactive command-line experience, supporting advanced globbing, spelling correction, and massive community plugin frameworks (like syntax highlighting and autosuggestions).fish(Friendly Interactive Shell) delivers out-of-the-box syntax highlighting, intelligent auto-suggestions based on command history, and web-based configuration without requiring complex setup scripts, though its scripting syntax deviates from standard POSIX bash.
🔗Shell Prompt
Dynamic prompt engines displaying git repository status, execution time, python virtual environments, and working directories within the terminal line.
- Examples:
starship,oh-my-posh - Why it matters: A standard shell prompt displays minimal information.
starshipis a cross-shell, Rust-powered prompt engine that evaluates your current directory context instantaneously. When you enter a code directory, it automatically renders active git branch states, modification flags, runtime versions (such as Node, Python, or Rust), and background job statuses directly into your prompt line with zero perceived latency.
🔗Terminal Multiplexer
Software managing multiple persistent virtual console sessions within a single terminal window. Multiplexers preserve session state across SSH disconnects and X11/Wayland restarts.
- Examples:
tmux,zellij,screen - Why it matters: Terminal multiplexers allow you to split a single terminal window into multiple panes, run background compilation jobs, and detach from active sessions without terminating running processes.
tmuxis the industry-standard multiplexer, controllable entirely via keyboard shortcuts and highly scriptable. If your SSH connection drops while upgrading a remote server inside atmuxsession, the upgrade process continues safely in the background; you simply reconnect and re-attach to the session.zellijis a modern, user-friendly Rust alternative featuring built-in layout tabs and floating windows out of the box.
🔗Pager
Terminal utilities designed to scroll and navigate large text documents or standard output streams cleanly.
- Examples:
less,bat - Why it matters: When viewing long files, compiler logs, or
manpages, pagers control the vertical scrolling of text.lessis the standard UNIX pagination utility.batacts as a modern, supercharged replacement for bothcatandless, integrating transparent syntax highlighting for hundreds of programming languages, git diff gutter markers, and automated line numbering directly into the terminal paging output.
🔗AUR Helper
Wrapper scripts automating package compilation and dependency resolution from the Arch User Repository while handling official Pacman system updates seamlessly.
- Examples:
paru,yay - Why it matters: The Arch User Repository contains tens of thousands of user-submitted PKGBUILD scripts for software not found in official Arch repositories. Manually downloading, inspecting, compiling, and updating these packages via
makepkgis tedious.paru(written in Rust) andyay(written in Go) wrap the nativepacmancommand syntax, automatically resolving complex AUR dependency chains, displaying diffs of user build scripts for security inspection, and compiling packages cleanly into your system.
🔗9. Text Editors
Different editing environments serve distinct functions across administration, scripting, and software development workflows.
🔗Simple Terminal Editor
Non-modal text editors that operate with standard keyboard navigation and immediate visual feedback. Highly practical for quick system configuration modifications, editing sudoers files, or modifying remote configurations over SSH.
- Examples:
nano,micro - Why it matters: When you are modifying a system configuration file at 3:00 AM or rescuing a broken bootloader from a chroot console, you do not want to wrestle with modal keybindings.
nanoships universally and provides straightforward, on-screen key prompts.microis a modern terminal editor that supports standard Ctrl+C / Ctrl+V clipboard operations, multi-cursor editing, and full mouse support inside the console without requiring manual configuration.
🔗Modal Terminal Editor
Editors structured around distinct operational modes (Normal, Insert, Visual, and Command). By divorcing navigation from text insertion, every keyboard key functions as an editing operator. While the initial learning curve is steep, modal editors provide unmatched speed and text manipulation precision. Neovim extends traditional Vim architecture by integrating a Lua runtime for deep customisation and asynchronous plugin execution.
- Examples:
neovim,vim - Why it matters: In normal mode, your keyboard stops being a typewriter and becomes a command language for text manipulation. You do not reach for a mouse to select and delete words; you type structural commands like
ciw(change inside word) ordap(delete around paragraph).vimis installed on virtually every Unix server in existence.neovimmodernises this legacy by adding built-in Language Server Protocol (LSP) client support, asynchronous job execution, and an active ecosystem of Lua plugins, transforming a lightweight terminal editor into a complete, lightning-fast development environment.
🔗Integrated Development Environment (IDE)
Comprehensive software suites bundling editors with visual debuggers, project file trees, database explorers, and build system integrations out of the box.
- Examples:
code/vscodium,intellij-idea-community,pycharm-community - Why it matters: While terminal modal editors excel at speed and system efficiency, large-scale enterprise software development often benefits from dedicated graphical IDEs.
vscodiumprovides the complete Visual Studio Code editor experience compiled directly from open-source repositories, completely stripping out Microsoft proprietary telemetry and tracking code. JetBrains community editions (intellij-idea-community,pycharm-community) offer deep, semantic code introspection, automated refactoring suites, and integrated visual debugging tools for complex Java, Kotlin, and Python codebases.
🔗10. Development & Version Control
🔗Version Control System
Software tracking file system modifications over time, facilitating collaborative development and configuration management (dotfiles).
- Examples:
git - Why it matters:
gitis the foundational infrastructure of modern software engineering. It tracks line-by-line code modifications, enables non-linear branch development, and allows safe experimentation without risking production stability. Beyond coding,gitis essential for managing personal system configurations (dotfiles), allowing you to replicate your exact Wayland, Neovim, and shell setups across multiple machines instantaneously.
🔗Git Frontend (TUI)
Interactive terminal interfaces simplifying branch navigation, staging diffs, and commit history inspection without executing verbose CLI commands.
- Examples:
lazygit,gitui - Why it matters: Performing complex git operations—such as interactive rebasing, staging individual lines of a modified file (patch staging), or untangling merge conflicts—can be tedious via raw command-line syntax.
lazygitandgitui(written in Rust for speed) provide visual, keyboard-driven terminal interfaces that display visual branch trees, interactive diff panels, and simplified commit management directly within your terminal workspace.
🔗Diff & Merge Utilities
Visual comparison tools highlighting file differences and resolving git merge conflicts.
- Examples:
meld(GUI),vimdiff(terminal),delta - Why it matters: When two development branches modify the same lines of code, git generates a merge conflict.
meldprovides a clean graphical three-way visual diff interface, allowing you to click and merge code blocks across conflicting files. In the terminal,vimdiffleverages Neovim's split-window architecture to resolve conflicts.deltareplaces standard git diff terminal output with syntax-highlighted, side-by-side or inline code comparisons featuring word-level diff highlighting.
🔗Runtime Version Manager
Tools automating the simultaneous installation and switching of multiple programming language runtimes across different project directories.
- Examples:
mise,pyenv,nvm,rustup - Why it matters: Relying solely on system-wide package manager runtimes for development is dangerous; Arch Linux rolling upgrades will update Python or Node to newer versions, potentially breaking older project dependencies.
mise(formerly rtx) acts as a high-performance, polyglot toolchain manager written in Rust. It automatically downloads and isolates specific versions of Node, Python, Ruby, or Terraform on a per-project basis, switching runtime environments instantly as youcdinto different project directories.rustupis the official toolchain installer required to manage Rust stable, nightly, and cross-compilation targets.
🔗Language Runtimes & Toolchains
The core compilers, interpreters, and package managers required to build and execute software.
- Examples:
python,python-pip,nodejs,npm,rust,gcc,clang,make,cmake - Why it matters: These packages provide the foundational compilation and execution engines for software development.
gccandclangcompile C and C++ source code into native machine binaries.makeandcmakeorchestrate complex multi-file compilation workflows.pythonandnodejsprovide the scripting interpreters and package registries (pip,npm) required to execute modern web applications, backend services, and automated system utilities.
🔗Language Server Protocol (LSP) Servers
Background analysis engines providing live syntax diagnostics, autocompletion, code formatting, and definition lookup to editors supporting the LSP specification.
- Examples: Managed via
mason.nvimin Neovim, or installed natively via Pacman (pyright,rust-analyzer,bash-language-server,lua-language-server) - Why it matters: The Language Server Protocol standardises how text editors communicate with programming language intelligence tools. Instead of every editor embedding its own custom code parser, a standalone background server processes your codebase. When integrated into Neovim,
rust-analyzerorpyrightinspects your code in real time, underlining syntax errors, providing intelligent method autocompletion, and enabling instant jump-to-definition across thousands of project files.
🔗API Testing Tools
Command-line utilities and interfaces designed to construct HTTP requests and inspect REST or GraphQL API responses.
- Examples:
curl,httpie,xh,bruno - Why it matters: Developing and debugging backend network services requires tools to simulate client requests. While
curlis universally available, its syntax for sending complex JSON payloads or custom authentication headers is verbose.httpieandxh(a high-performance Rust port) provide human-readable command-line syntax, automated JSON formatting, and persistent session support.brunooffers a fast, local-first graphical desktop API client that saves request collections directly as plain text files within your git repositories.
🔗Database Clients
Interfaces used to connect to relational or document databases for query execution and schema inspection.
- Examples:
dbeaver,pgcli,mycli,sqlite3 - Why it matters: When interacting with PostgreSQL, MySQL, or SQLite databases, you need structured interfaces to execute SQL queries and inspect table data.
pgcliandmyclireplace standard database command-line monitors with intelligent interactive terminals featuring auto-completion and syntax highlighting.dbeaverprovides an enterprise-grade graphical universal database tool capable of generating visual Entity-Relationship diagrams and managing complex data migrations across virtually any database engine.
🔗Container Runtime
Software executing isolated Linux applications and development environments via kernel namespaces and cgroups.
- Examples:
podman,docker,buildah,incus - Why it matters: Containers package applications and their dependencies into standardized, isolated execution environments that run identically across any Linux host.
dockeris the ubiquitous industry standard, relying on a background root daemon to manage containers.podmanprovides a modern, daemonless, drop-in replacement for Docker that executes containers rootlessly under standard user accounts, significantly improving system security.incus(the community fork of LXD) manages complete system containers and virtual machines, behaving like lightweight, instant-boot Linux servers running inside your primary machine.
🔗Virtualisation
Hypervisor tools executing complete virtual machines with dedicated OS kernels.
- Examples:
qemu-full,virt-manager,libvirt - Why it matters: While containers isolate application processes, virtualization hypervisors emulate complete physical computer hardware, allowing you to run entirely different operating systems (such as Windows 11, BSD, or isolated Linux distributions) simultaneously.
qemu-fullprovides the hardware emulation backend and KVM (Kernel-based Virtual Machine) acceleration.libvirtmanages virtual network bridges and storage pools, whilevirt-managerprovides an intuitive graphical interface for creating, configuring, and viewing virtual machine displays.
🔗Low-Level Debugging Utilities
Diagnostic software tracing process system calls, memory allocations, and binary contents.
- Examples:
strace,ltrace,gdb,valgrind,hexyl,xxd - Why it matters: When an application crashes silently or fails to read a configuration file without generating an error log, low-level debuggers reveal exactly what the software is doing under the hood.
straceintercepts and records every system call a running process makes to the Linux kernel, instantly revealing if a program is crashing because it is attempting to open a missing file path or requesting denied network permissions.gdb(GNU Debugger) allows you to step through compiled C/C++ binary execution line-by-line to isolate memory segmentation faults.hexylprovides a clean, colour-coded terminal hex viewer for inspecting binary data layouts.
🔗11. File Management
🔗File Manager
Software for browsing directories, executing file operations, and managing storage permissions. Terminal interfaces provide rapid keyboard-driven navigation, while GUI managers offer drag-and-drop convenience and thumbnail rendering.
- Examples:
yazi,lf,nnn(TUI);thunar,pcmanfm-qt(GUI) - Why it matters: Terminal file managers integrate natively with your command-line workspace.
yaziis an asynchronous, Rust-powered terminal file manager featuring instant directory jumping, multi-threading, and native image preview rendering directly inside terminal grids via Wayland image protocols.lf(List Files) offers an extremely minimalist, instant-launch file manager styled after standard Vim keybindings. For graphical workflows,thunarprovides a lightweight, reliable GTK file manager with robust external drive automounting and custom context-menu action support.
🔗Archive Utilities
Compression and extraction libraries handling standard archive formats.
- Examples:
7zip,unzip,unrar,tar,zstd,file-roller - Why it matters: Compressed archives are the universal distribution format for source code, datasets, and document bundles. While
tarandgziphandle standard Unix archives, installing7zip,unzip, andunrarensures you can decompress proprietary archives downloaded from external sources.zstd(Zstandard) is a modern compression algorithm developed by Facebook that delivers real-time compression speeds with compression ratios matching legacy algorithms, used extensively by Arch Linux for official.pkg.tar.zstsystem packages.
🔗Thumbnail Generator
Background parsers generating visual previews for images, PDF documents, and video files inside graphical file managers.
- Examples:
ffmpegthumbnailer,tumbler - Why it matters: By default, graphical file managers like Thunar display generic, identical icons for all video files and images. Installing
tumbleralongsideffmpegthumbnailerenables background thumbnail generation, automatically parsing video frames and document covers to render visual previews directly inside your file browsing directories.
🔗Disk Usage Analyser
Diagnostic tools mapping file system consumption to locate storage anomalies and large cached directories.
- Examples:
dust,ncdu,duf - Why it matters: When your NVMe storage fills up unexpectedly, traditional
ducommands spit out unreadable, unindexed lists of numbers.ncdu(NCurses Disk Usage) scans storage directories and renders an interactive, sorted terminal interface where you can navigate folders and delete space-wasting caches instantly.dustis a modern Rust-powered alternative that renders visual graphical tree maps of storage consumption directly in the console.dufreplaces the legacydfcommand, displaying clean, tabulated visual overviews of all mounted filesystems and available disk space.
🔗Partition & Storage Management
Low-level disk partitioning and logical volume manipulation software.
- Examples:
parted,gptfdisk,gparted,lvm2 - Why it matters: Whether setting up a new SSD, resizing logical volumes, or formatting USB flash drives, partition manipulation tools are mandatory system administration equipment.
gptfdiskprovidesgdiskandcgdisk, the authoritative interactive terminal tools for creating and editing modern GPT (GUID Partition Table) disk layouts.partedprovides scripted partition table manipulation, whilegpartedoffers a visual GTK interface for resizing filesystems without command-line calculation risks.
🔗Backup & Synchronisation
Software performing incremental data backups, deduplication, encryption, and remote mirroring to prevent data loss.
- Examples:
restic,borgbackup,rsync,rclone,syncthing - Why it matters: Storage hardware fails, rolling distributions break, and user error occurs. A robust backup strategy is mandatory.
rsyncis the classic synchronization tool, perfect for local file mirroring and incremental transfers over SSH.resticandborgbackuprepresent modern backup architecture: they slice your directories into deduplicated, encrypted snapshots, storing only the modified data chunks to local hard drives or remote cloud buckets.rcloneacts as a command-line Swiss-Army knife for syncing data to arbitrary cloud storage providers (S3, Google Drive, Mega).syncthingestablishes continuous, peer-to-peer decentralized file synchronization across your laptops, servers, and mobile devices without relying on third-party cloud servers.
🔗Remote Desktop Client
Graphical applications establishing remote desktop control sessions over VNC or RDP protocols.
- Examples:
remmina,freerdp,wayvnc - Why it matters: When you need to manage remote Windows workstations or control graphical Linux desktops across a network,
remminaprovides a comprehensive, multi-protocol graphical client supporting Remote Desktop Protocol (RDP), VNC, and SSH tunneling. Conversely,wayvncacts as a Wayland-native VNC server, allowing you to share and control your local Niri compositor session remotely from other devices.
🔗12. System Utilities
🔗System & Process Monitors
Interactive system telemetry tools detailing CPU core load, memory allocation, storage I/O, network bandwidth, and active process hierarchy.
- Examples:
btop,htop,bottom,procs - Why it matters: When system fans spin up or memory consumption spikes, process monitors identify the rogue application immediately. While
topis ubiquitous,htopadds interactive process killing, tree-view process hierarchies, and clean visual metric bars.btopelevates this further, rendering gorgeous, highly customizable terminal dashboards displaying real-time graphs for disk read/write speeds, network transfer rates, CPU temperatures, and storage utilization.procsreplaces legacypscommand output with syntax-highlighted, human-readable process tables featuring automated Docker container mapping.
🔗Command-Line Search & Filtering
Modern, high-performance replacements for legacy Unix search utilities. These tools leverage multi-threading and automatically ignore version-control directories.
- Examples:
- Fuzzy Finder:
fzf,sk - Content Search:
ripgrep,silversearcher-ag - File Name Search:
fd - Directory Listing:
eza,lsd
- Fuzzy Finder:
- Why it matters: Traditional Unix tools like
findandgrepare slow when searching massive directories and require complex flag syntax. Modern Rust-powered replacements dramatically accelerate terminal workflows:ripgrep(rg) searches file contents recursively at blistering speeds, automatically respecting.gitignorerules to avoid searching irrelevant dependency folders.fdreplacesfindwith sensible defaults, colour-coded output, and simplified regular expression searching.ezareplacesls, adding git status badges, file modification timestamps, human-readable file sizes, and Nerd Font file icons directly to directory listings.fzf(Fuzzy Finder) is a revolutionary terminal filter; when piped into bash/zsh history or file searching, it allows you to instantly filter and open files, switch branches, or execute historical commands with minimal keystrokes.
🔗Download & Network Utilities
Command-line file downloaders supporting multi-connection parallel fetching and broken download resumption.
- Examples:
aria2,wget,curl - Why it matters: Downloading large Linux ISOs or software archives via web browsers is inefficient and fragile.
wgetis the classic tool for scripted file downloading and website mirroring.aria2is a lightweight, multi-protocol download utility capable of accelerating download speeds by segmenting files and pulling chunks simultaneously across multiple HTTP, FTP, and BitTorrent connections.
🔗Calculators & Mathematical Tools
Interactive expression evaluation utilities.
- Examples:
qalculate,bc - Why it matters: When calculating storage allocations, subnet masks, or general arithmetic, opening a heavy graphical calculator application breaks terminal momentum.
bcis an arbitrary-precision command-line calculator language.qalculate(qalc) is a phenomenal utility that understands natural mathematical syntax, physical unit conversions (currency, data sizes, measurements), symbolic calculus, and base conversions directly within the terminal console.
🔗Security Auditing & Maintenance
Tools scanning installed packages against CVE databases and identifying redundant system files.
- Examples:
arch-audit,lynis,rmlint,fdupes - Why it matters: Maintaining system hygiene and security on a rolling release requires vigilance.
arch-auditqueries the official Arch Linux security tracker, cross-referencing your installed package database against known Common Vulnerabilities and Exposures (CVEs) to warn you of unpatched software.lynisperforms deep automated security auditing, evaluating file permissions, firewall rules, kernel parameters, and user authentication setup to suggest hardening improvements.rmlintandfdupesscan filesystem directories to identify and strip out duplicate files, empty directories, and broken symlinks, reclaiming wasted storage space.
🔗13. Applications
🔗Web Browser
The primary internet client. Ensure Wayland-native flags are active to maintain fluid scrolling and video playback.
- Examples:
firefox,librewolf,chromium,brave - Why it matters: The web browser is often the most resource-intensive application running on a workstation.
firefoxprovides an independent, highly customizable rendering engine with robust privacy controls and native Wayland support.librewolfis a custom fork of Firefox compiled with aggressive privacy hardening, uBlock Origin pre-installed, and all telemetry removed out of the box.chromiumprovides the open-source base for Blink-engine rendering, essential for web development testing and specific proprietary web applications.
🔗Email Client
Applications managing mail synchronisation via IMAP/SMTP protocols.
- Examples:
thunderbird,neomutt,aerc - Why it matters: While webmail interfaces are common, dedicated local email clients provide offline access, unified multi-account management, and PGP cryptographic signing.
thunderbirdoffers a full-featured graphical personal information manager. For terminal purists,neomuttandaercprovide lightning-fast, keyboard-driven email management inside console windows, integrating directly with local mail synchronizers likeofflineimapormbsyncand rendering plain-text emails effortlessly.
🔗Document & eBook Readers
Lightweight viewing software for PDF, ePub, and DjVu files.
- Examples:
zathura(withzathura-pdf-mupdf),evince,okular,foliate - Why it matters: Opening technical PDF manuals or research papers inside heavy web browsers is clumsy.
zathurais a minimalist, document viewer controlled entirely via Vim keybindings, offering instantaneous document rendering and distraction-free reading without interface borders. Installing thezathura-pdf-mupdfbackend ensures rapid rendering of complex vector graphics and large documents. For reading ePub eBooks,foliateprovides a beautiful, modern GTK reading interface featuring customizable typography, chapter pagination, and dictionary lookup integration.
🔗Media Viewers & Editors
Software used to display, manipulate, and play image, audio, and video formats.
- Examples:
- Image Viewers:
imv,swayimg - Image Editors:
imagemagick,gimp,inkscape - Video Players:
mpv,vlc - Media Downloader:
yt-dlp - Music Daemons & Clients:
mpd,ncmpcpp,mpc
- Image Viewers:
- Why it matters:
imvandswayimgare Wayland-native, keyboard-controlled image viewers that open instantly and scale images cleanly across tiled compositor windows.imagemagickis a vital CLI suite for automated image manipulation—capable of converting file formats, resizing photo batches, and generating screenshot composites via shell scripts without opening a GUI.gimpandinkscapehandle complex raster photo editing and scalable vector graphic (SVG) design respectively.mpvis the undisputed champion of Linux video playback: an open-source, minimalist media player powered by FFmpeg that handles any video format, supports hardware decoding acceleration, and extends functionality via Lua scripting.yt-dlpis an indispensable command-line tool for downloading video and audio streams from thousands of websites (including YouTube, Vimeo, and Reddit), allowing you to archive educational material or media directly to local storage.mpd(Music Player Daemon) decouples audio playback from user interfaces by running as a background service that catalogs and plays your local music library. You control playback using lightweight terminal clients likencmpcppor command-line triggers (mpc), meaning your music continues playing uninterrupted even if your graphical desktop session restarts.
🔗Productivity & Organisation
Software managing personal knowledge bases, local credentials, and standard office documents.
- Examples:
- Note Taking:
obsidian,logseq - Password Management:
keepassxc,bitwarden-cli,pass - Office Suite:
libreoffice-fresh - Spell Checking:
hunspell,hunspell-en_gb,libenchant
- Note Taking:
- Why it matters:
- Local-first knowledge management is essential for tracking technical documentation, projects, and personal research.
obsidianandlogseqorganize your notes as folders of standard Markdown files stored locally on your hard drive, utilizing bi-directional linking to construct visual knowledge graphs without locking your data into proprietary cloud formats. - Password security requires encrypted local credential vaults.
keepassxcprovides an offline, open-source password manager utilizing AES-256 encryption, featuring auto-type integration and SSH agent support.pass(the standard UNIX password manager) embraces the Unix philosophy by storing each individual credential as an encrypted GPG file inside a standard git folder structure. libreoffice-freshprovides the comprehensive open-source office suite required to create and format standard Word documents, Excel spreadsheets, and presentation slides.- System-wide spell checking relies on underlying linguistic libraries. Installing
hunspellalongside regional dictionaries (hunspell-en_gbfor British English) ensures LibreOffice, email clients, and web browsers underline typographical errors accurately.
- Local-first knowledge management is essential for tracking technical documentation, projects, and personal research.
🔗Communication & Feed Readers
Clients for real-time messaging, federated social networks, and syndicated content feeds.
- Examples:
telegram-desktop,element-desktop,discord,tut,newsboat,qbittorrent - Why it matters:
- Native desktop messaging clients like
telegram-desktopandelement-desktop(for secure, decentralized Matrix communications) provide desktop notification integration and system tray persistence. - For Fediverse and Mastodon interactions,
tutdelivers a clean, ncurses-based terminal user interface, allowing you to browse timelines and post updates directly from the console. newsboatis an RSS/Atom feed reader designed for the terminal. By subscribing to technical blogs, software release feeds, and news sources vianewsboat, you consume information rapidly without algorithmic distraction, ad trackers, or bloated web interfaces.qbittorrentis a reliable, open-source BitTorrent client featuring built-in torrent search engines, IP filtering, and automated RSS download rules for Linux distribution releases.
- Native desktop messaging clients like
🔗System Information Fetchers
Terminal utilities displaying system architecture, kernel versions, memory usage, and ASCII logos.
- Examples:
fastfetch,macchina - Why it matters: While largely aesthetic, system fetch utilities provide immediate, clean visual verification of your active operating system environment, kernel release, uptime, memory consumption, and compositor configuration.
fastfetchis the modern, highly performant C-based successor to the unmaintainedneofetch, rendering system stats alongside customized ASCII or image distribution logos instantaneously.
🔗14. Fonts Reference Table
| Type | Primary Purpose | Recommended Packages | Why It Matters |
|---|---|---|---|
| Monospace (Nerd Font) | Terminals, text editors, status bar iconography | ttf-jetbrains-mono-nerdttf-firacode-nerdttf-hack-nerd | Fixed-width character spacing is mandatory for coding and terminal grids. Patched Nerd Fonts embed thousands of icon glyphs used by status bars and shell prompts. |
| Sans-Serif | GTK/Qt UI layouts, desktop notifications, web browsers | inter-fontnoto-fontsttf-ubuntu-font-family | Proportional sans-serif fonts govern graphical application interfaces and general reading readability across desktop window surfaces. |
| Serif | Document reading, PDF viewing, word processing | adobe-source-serif-fontsnoto-serif | Traditional serif fonts provide superior legibility for long-form printed documents, formal reports, and eBook reading. |
| Emoji | Universal emoji glyph rendering across all applications | noto-fonts-emojittf-twemoji | Prevents modern Unicode emoji characters from rendering as broken, empty rectangular boxes in web browsers and communication clients. |
🔗15. Master System Verification Checklist
Use this structured audit to verify your installation completeness after deployment.
🔗Core System
-
Base operating system packages (
base,base-devel) -
Linux kernel and kernel headers (
linux,linux-headers) -
Hardware microcode and system firmware (
intel-ucode/amd-ucode,linux-firmware) -
Bootloader configuration (
grub,efibootmgr) -
Local documentation system (
man-db,man-pages) -
Network time synchronisation service (
systemd-timesyncdorchronyactive) -
Cryptographic volume tools (
cryptsetup,lvm2)
🔗Display & Compositor
-
Wayland compositor (
niri) -
Graphics drivers and Vulkan APIs (
mesa,vulkan-intel,vulkan-radeon) -
Video hardware acceleration libraries (
intel-media-driver,libva-utils) -
Display manager or TTY autologin wrapper (
ly,greetd, oruwsm) -
XDG desktop portals (
xdg-desktop-portal-gnome,xdg-desktop-portal-gtk) -
X11 compatibility layer (
xwayland) -
Display management utilities (
wdisplays,kanshi)
🔗Desktop Environment Components
-
Wayland status bar (
waybar) -
Application launcher (
fuzzel,rofi-wayland) -
Notification daemon (
mako,swaync) -
Screen locker and inactivity monitor (
swaylock,swayidle) -
Background wallpaper utility (
swaybg) -
Polkit graphical authentication agent (
polkit-gnome,polkit-kde-agent) -
Freedesktop secret storage daemon (
gnome-keyring,keepassxc) -
Clipboard manager (
cliphist,wl-clipboard) -
Screenshot and region selection utilities (
grim,slurp,swappy) -
Screen recording software (
wf-recorder,obs-studio) -
Colour picker and hardware OSD (
hyprpicker,swayosd)
🔗Audio & Networking
-
Audio processing server (
pipewire,pipewire-pulse,wireplumber) -
Audio mixer interface (
pavucontrol,pulsemixer) -
Network management daemon and UI (
networkmanager,nm-applet,iwd) -
Host firewall configuration (
ufw,nftables) -
SSH server and client tools (
openssh) -
Network diagnostic utilities (
nmap,traceroute,bind,iperf3)
🔗Input, Hardware & Theming
-
Backlight brightness controls (
brightnessctl) -
Laptop power management daemon (
tlp,auto-cpufreq) -
Bluetooth audio and device managers (
bluez,blueman) -
S.M.A.R.T. disk monitoring utilities (
smartmontools,nvme-cli) - Complete font stack (Monospace Nerd Font, Sans, Serif, Emoji)
-
GTK and Qt theming engines (
nwg-look,qt5ct,qt6ct,kvantum) -
Icon and cursor themes (
papirus-icon-theme,bibata-cursor-theme)
🔗Terminal, Development & System Utilities
-
GPU-accelerated terminal emulator (
kitty,foot,alacritty) -
Shell environment and prompt engine (
zsh,starship) -
Terminal multiplexer and pager (
tmux,bat) -
AUR helper (
paru,yay) -
Modal text editor (
neovim,vim) -
Version control system and interactive TUI (
git,lazygit) -
Language version managers and toolchains (
mise,python,nodejs,rust) -
Containerisation runtime (
podman,docker) -
File manager and archive utilities (
yazi,7zip,unzip,tar,zstd) -
Automated backup system (
restic,borgbackup,rsync) -
Modern CLI search and monitoring tools (
btop,ripgrep,fd,fzf,eza) - Essential GUI applications (Browser, Mail, PDF Viewer, Media Player, Office Suite)