Arch gives you control, and that means you also own the mess when it breaks. Pick the desktop environment, the theme, the config, and the behaviour. If that sounds like a fair trade, the sensible route is to work in small steps and keep a way back.
This post stays with desktop environment choices and visual changes. GNOME gives you a polished, integrated setup. Sway is the leaner Wayland route. Swap the names to suit whatever you actually run. I keep the steps simple and check each change before moving on.
Prep properly. Take backups. Keep a live USB handy. Work in stages: base system, display server, desktop environment, theming, then personal config. Make a restore point before touching system files.
Setup
Start from a working Arch base. If you are still installing Arch, stop here and finish that first. Once you have a booting system and a user with sudo, do the basics.
-
Update packages:
sudo pacman -Syu -
Create backups of configs:
cp -r ~/.config ~/.config.bak sudo cp -r /etc /etc.bakKeep those somewhere safe. If a change goes sideways, you want the original files back.
-
Install Xorg for X11 or Wayland tools as needed:
sudo pacman -S xorg xorg-serversudo pacman -S sway swaybgPick one based on the desktop environment you plan to use.
-
Install a desktop environment and tools. Examples:
sudo pacman -S gnome gnome-tweaks gnome-shell-extensionssudo pacman -S plasma kde-applicationssudo pacman -S sway wlroots swaybg -
Display manager, if you want a graphical login:
sudo systemctl enable --now gdmsudo systemctl enable --now sddmCheck with
systemctl status gdmorsystemctl status sddm.
Do not move on until the update and backups work. If the install fails, fix the package problem first. Skipping backups is a bad way to save time.
Steps
-
Choose a theme setup
- GTK for GNOME or Qt for 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 such as
yay. Installyaymanually if you are comfortable doing that.
-
Apply a GNOME theme
- Install Tweaks:
sudo pacman -S gnome-tweaks- Open Tweaks from Activities and search for it.
- Go to Appearance, then Applications, Icons, Shell, and choose the theme you want.
- Check it with:
gsettings get org.gnome.desktop.interface gtk-theme- You should see
'Adwaita-dark'or whatever theme you set. - If the theme breaks the interface, log into a TTY and restore
~/.configfrom the backup:
mv ~/.config.bak ~/.config -
Apply a KDE theme
- Go to System Settings, then Appearance, then Global Theme, and apply the one you want.
- Check the active theme in the appearance page.
-
Install icons and cursor sets
- Example:
sudo pacman -S papirus-icon-theme- Set it through Tweaks or System Settings.
- Check the install with:
ls /usr/share/icons | grep Papirus -
Set wallpaper and fonts
- Copy the wallpaper into
~/Picturesand set it through your desktop background settings. - Install a font such as DejaVu:
sudo pacman -S ttf-dejavu- Look for the change in your apps.
fc-match sansshould show the font match.
- Copy the wallpaper into
-
Configure startup apps and hotkeys
- In GNOME, use Settings and any extensions you need.
- In Sway, edit
~/.config/sway/configand addexeclines. - Restart the session, then check that the app started.
ps aux | grep <app> -
Save the final state
tar czf arch-dotfiles-$(date +%F).tar.gz ~/.configThat gives you a quick rollback point and something you can move to another machine later.
Checks
-
Check the display manager:
systemctl status gdmsystemctl status sddmLook for
Active: active (running). -
Confirm the compositor or Wayland session:
- X11:
xrandrIt should list outputs and the current resolution, for example
eDP-1 connected 1920x1080+0+0.- Wayland:
loginctl show-session $XDG_SESSION_ID -p TypeLook for
Type=wayland. -
Check installed packages:
pacman -Qs <theme-name>pacman -Qi <package-name> -
Check GNOME settings:
gsettings get org.gnome.desktop.interface gtk-themegsettings get org.gnome.desktop.interface icon-theme -
Check logs for errors:
journalctl -b -p errLook for display, GDM, or shell errors.
If a check fails, stop there and roll back the last change. That is usually quicker than guessing.
If it breaks
-
Fall back to a TTY
Press Ctrl+Alt+F2, log in, and work from there.
-
Restore configs
mv ~/.config ~/.config.bad mv ~/.config.bak ~/.config sudo systemctl restart gdmCheck that the graphical session returns, or that
systemctl status gdmshows it active. -
Remove a broken package
sudo pacman -Rns <package>If that pulls in dependencies you still want, reinstall them by hand.
-
Swap display manager temporarily
sudo systemctl disable --now gdm sudo systemctl enable --now lightdmCheck
systemctl status lightdm. -
Read the logs
journalctl -xeLook for missing shared objects or config parse failures.
If none of that helps, use the live USB, mount the root partition, and copy /etc.bak and /home/<user>/.config.bak back in place.
Customise in small steps. Keep backups. Test each change before you pile on the next one.



