This manual will guide you through the steps to set up a desktop environment beginning with a clean Arch-based installation. I will presume you have a good understanding of Linux-based operating systems and command-line interfaces. Given that you are reading this, it's likely you've watched some YouTube videos on 'tiling window managers,' which is typically where the journey begins. You are free to choose any window manager you prefer, but I will be demonstrating using Qtile as the initial tiling window manager since that was my starting point. Essentially, this is an overview of how I built my desktop environment from the ground up.gitlab.com/jped/suckless)
I would make sure to have working internet:
pacman -S networkmanager
systemctl enable NetworkManager
After you log in, your internet connection should be functioning properly, provided that your computer is connected via Ethernet. If you're using a laptop that lacks Ethernet ports, you might have previously used iwctl during the setup process, but this tool won't be available unless you've explicitly installed it afterward. Don't worry, though—we've set up NetworkManager for you. Here’s how you can connect to a wireless LAN using this application:
# List all available networks
nmcli device wifi list
# Connect to your network
nmcli device wifi connect YOUR_SSID password YOUR_PASSWORD
Install dependencies:
sudo pacman -S --needed base-devel extra/git extra/libx11 extra/libxcb extra/libxinerama extra/libxft extra/imlib2
If you find yourself missing a library then this can usually be found by searching for the file name using pacman:
pacman -F Xlib-xcb.h
extra/libx11 1.6.12-1 [installed: 1.7.2-1]
usr/include/X11/Xlib-xcb.h
sudo pacman -S feh
feh --bg-scale path/to/wallpaper
sudo pacman -S ttf-dejavu ttf-liberation noto-fonts
sudo pacman -S pulseaudio pavucontrol
For a better CLI experience though, I recommend using pamixer:
sudo pacman -S pamixer
Now that you've installed some software that makes your computer easier to use without testing your patience, it's time to move on to more exciting tasks. First up, you should install an AUR helper. I recommend using yay:
sudo pacman -Syu
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
For a graphical one, I suggest thunar
sudo pacman -S thunar
Another basic utility you might need is automounting external hard drives or USBs. For that I use udisks and udiskie. udisks is a dependency of udiskie, so we only need to install the last one. Install also ntfs-3g package to read and write NTFS formatted drives:
sudo pacman -S udiskie ntfs-3g
We have configured the network through nmcli, but a graphical frontend is more friendly. I use nm-applet:
sudo pacman -S network-manager-applet
In order to make them permanent, we need a couple things. First, install xinit:
sudo pacman -S xorg-xinit
Now you can use ~/.xprofile to run programs before your window manager starts:
touch ~/.xprofile
For example, if you place this in ~\.xprofile:
exec dwm
- barpadding
- bottomstack
- cfacts
- colorful tags
- cool autostart
- dragmfact
- dragcfact
- fibonacci
- gaplessgrid
- horizgrid
- movestack
- notitle
- preserveonrestart
- statuspadding
- status2d
- shiftview
- underlinetags
- vanitygaps
- winicon