theme-sticky-logo-alt
img customising your arch linux desktop environment customising arch linux

Customising your Arch Linux desktop environment

I’ll be blunt. Arch is a toolkit, not a finished desktop. That makes it ideal if you want full control of Linux personalisation. You pick the desktop environment, themes, configurations and behaviour. You also take responsibility when things break. If that sounds fine, this guide shows a safe, repeatable route from a minimal Arch install to a customised desktop you can actually use.

This guide focuses on desktop environment choices and visual tweaks. It covers a simple setup, the exact commands to run, the UI clicks where relevant and how to check that each change took effect. I use common tools and examples: GNOME for a polished, integrated experience and a tiling Wayland setup (Sway) for a minimal route. Swap names to match your preferred desktop environment. Throughout I use the phrase customising Arch Linux to keep the steps clear and searchable.

Prep is practical. Take backups. Keep a live USB handy. Work in stages: base system → display server → desktop environment → theming → personal configs. Make a restore point before changes that alter system files.

Setup

Start from a functioning Arch base. If you’re still installing Arch, stop here and follow the official install guide until you have a booting system and a user with sudo. Once you have that, do the basics.

  1. Update packages:
    • sudo pacman -Syu
    • Expected: no errors; ends with “there is nothing to do” or shows upgraded packages.
  2. Create backups of configs:
    • cp -r ~/.config ~/.config.bak
    • sudo cp -r /etc /etc.bak
    • Keep these safe. If a step changes state you can restore the originals.
  3. Install Xorg (for X11) or Wayland tools as needed:
    • Xorg example: sudo pacman -S xorg xorg-server
    • Wayland example: sudo pacman -S sway swaybg
    • Pick one based on the desktop environment you plan to use.
  4. Install a desktop environment and tools. Examples:
    • GNOME: sudo pacman -S gnome gnome-tweaks gnome-shell-extensions
    • KDE Plasma: sudo pacman -S plasma kde-applications
    • Sway (tiling Wayland): sudo pacman -S sway wlroots swaybg
    • Expected: pacman lists packages and finishes without errors.
  5. Display manager (if you want a graphical login):
    • GNOME: sudo systemctl enable --now gdm
    • KDE: sudo systemctl enable --now sddm
    • Expected: Active: active (running) when you run systemctl status gdm or systemctl status sddm.

Do not proceed until update and backups succeed. If an install fails, fix the package error first. Don’t skip backups. They are the quickest rollback.

Steps

Follow these numbered steps for the actual customisation. I keep them short and verifiable.

  1. Choose a theme framework
    • GTK (GNOME) or Qt (KDE). Install themes and icon packs.
    • Example: sudo pacman -S gnome-themes-extra adwaita-icon-theme
    • For extra themes from AUR use an AUR helper like yay. Install yay manually if comfortable.
  2. Apply theme (GNOME example)
    • Install Tweaks: sudo pacman -S gnome-tweaks
    • Open Tweaks: Activities → search “Tweaks”.
    • Click Appearance → Applications, Icons, Shell and pick your theme.
    • Verification: gsettings get org.gnome.desktop.interface gtk-theme
      • Expected output: 'Adwaita-dark' or the theme name you set.
    • Rollback note: If the theme breaks interfaces, restore ~/.config from your backup with mv ~/.config.bak ~/.config after logging into TTY.
  3. Apply theme (KDE example)
    • System Settings → Appearance → Global Theme → Apply.
    • Verification: open System Settings appearance page and confirm the active theme.
  4. Install icons and cursor sets
    • sudo pacman -S papirus-icon-theme
    • Set via Tweaks or System Settings.
    • Verification: check ls /usr/share/icons | grep Papirus shows the folder.
  5. Set wallpaper and fonts
    • Wallpaper: copy image to ~/Pictures then set through the DE’s background settings.
    • Fonts: install ttf-dejavu or other fonts: sudo pacman -S ttf-dejavu.
    • Verification: font change visible in apps; fc-match shows matching font: fc-match sans.
  6. Configure startup apps and hotkeys
    • GNOME: Settings → Startup Applications (Extensions might be required).
    • Sway: edit ~/.config/sway/config and add exec lines.
    • Verification: restart session. Autostarted apps should be running. Use ps aux | grep <app>.
  7. Save final state
    • Export dotfiles: tar czf arch-dotfiles-$(date +%F).tar.gz ~/.config
    • This gives a quick rollback and migration point.

Keep commands exact. Each step changes state; backups above let you revert quickly.

Checks

Verify the system after each change. Short checks save hours of guessing.

  • Check display manager:
    • systemctl status gdm or systemctl status sddm
    • Expected: Active: active (running).
  • Confirm compositor or Wayland session:
    • X11: xrandr should list outputs and current resolution, e.g. eDP-1 connected 1920x1080+0+0.
    • Wayland: check your DE’s info page or loginctl show-session $XDG_SESSION_ID -p Type showing Type=wayland.
  • Verify packages:
    • pacman -Qs <theme-name> shows installed packages.
    • pacman -Qi <package-name> shows package info including “Installed Size”.
  • Verify gsettings for GNOME:
    • gsettings get org.gnome.desktop.interface gtk-theme returns the theme name.
    • gsettings get org.gnome.desktop.interface icon-theme returns the icon theme.
  • Check logs for errors:
    • journalctl -b -p err shows boot-time errors.
    • Look for display, gdm or shell errors.

If a check fails, don’t press on. Roll back the last change using the backup. That is often the fastest fix.

If it breaks

Expect breakage. Expect fixable breakage.

  1. Fall back to TTY
    • Press Ctrl+Alt+F2 to reach TTY. Login with your user.
    • From here you can restore configs or uninstall problem packages.
  2. Restore configs
    • mv ~/.config ~/.config.bad then mv ~/.config.bak ~/.config
    • Restart the display manager: sudo systemctl restart gdm
    • Verification: graphical session appears or systemctl status gdm shows active.
  3. Remove a broken package
    • sudo pacman -Rns <package>
    • If dependencies were pulled in that you want back, reinstall them selectively.
  4. Swap display manager temporarily
    • Disable a broken DM: sudo systemctl disable --now gdm
    • Enable a known working one: sudo systemctl enable --now lightdm
    • Verification: systemctl status lightdm should be active.
  5. Read logs
    • journalctl -xe after a failed login will show why the greeter or shell failed.
    • Look for explicit errors such as missing shared objects or config parse failures.

If nothing fixes it, use your live USB, mount the root partition and copy the backup /etc.bak and /home/<user>/.config.bak back in place.

Final takeaways: customise in small, reversible steps. Backups are cheap and fast. Test each change with a clear verification command or UI check. That keeps customising Arch Linux practical rather than painful.

Share:
Category:AI, Lifestyle, Real Life
PREVIOUS POST
Installing Windows 11 alongside Linux
NEXT POST
HomeAssistant Core | 2025.9.2

0 Comment

LEAVE A REPLY

15 49.0138 8.38624 1 1 4000 1 https://lab53.uk 300 1