A manual install guide for those having installer issues, wanting more control, or just interested in the process.
This can also be a place users can post their own customizations to the install.
I’ll break this down into a few steps
- Base Install
- Additional Packages
- Configs and Cleanup
1. Base Install
For the brevity’s sake I’m not going to describe partitioning, mounting, base install (pacstrap), or system config setup (hostname, timezone, locale, etc.); this is all described much better than I can manage on the archwiki. Follow this guide to install a base Arch Linux system (note that AL includes NetworkManager on the live boot,
nmtui-connect can be used to connect to a network wirelessly)
Once finished and you’ve reached the bootloader step (and are still in chroot) we recommend using grub for simplicity of this guide
pacman -S grub os-prober # For UEFI (where DIR is where you mounted the boot partition) grub-install --verbose --recheck --force --target=x86_64-efi \ --efi-directory=DIR --bootloader-id='archlabs' # For BIOS (where DEVICE is the install disk, not partition e.g. /dev/sda) grub-install --verbose --recheck --force --target=i386-pc DEVICE
Once the install completes we generate the config
grub-mkconfig -o /boot/grub/grub.cfg
We have some customizations in
/etc that should be copied to the new system
# exit chroot exit cp -vf /etc/modprobe.d/* /mnt/etc/modprobe.d/ cp -vf /etc/X11/xorg.conf.d/* /mnt/etc/X11/xorg.conf.d/ cp -vf /etc/os-release /mnt/etc/os-release cp -vf /etc/skel/.zshrc /mnt/etc/skel/.zshrc # re-enter chroot arch-chroot /mnt
2. Additional Packages
You should now have a fully boot-able system with all the basic requirements.
Enable archlabs repos in
# exit chroot exit cp -f /etc/pacman.conf /mnt/etc/ # re-enter chroot arch-chroot /mnt
At this point additional packages required for AL sessions can be installed.
The following provide a baseline for AL with no sessions.
pacman -S alsa-firmware alsa-lib alsa-plugins archlabs-baph archlabs-fonts \ archlabs-icons archlabs-keyring archlabs-scripts archlabs-skel-base \ archlabs-themes archlabs-wallpapers ffmpeg gst-libav gst-plugins-base \ gst-plugins-good gstreamer gtk3 gvfs libmad libmatroska pamixer \ pavucontrol pulseaudio pulseaudio-alsa scrot sudo xdg-user-dirs \ xorg xorg-drivers xterm
If you intend to install a window manager instead of a desktop environment we suggest the following
pacman -S arandr dunst exo feh gnome-keyring gsimplecal \ network-manager-applet nitrogen polkit-gnome \ picom volumeicon wmctrl xclip xdotool \ xfce4-power-manager xfce4-settings
2.1 Session Packages
The following commands should be run depending on which session(s) you want installed.
pacman -S awesome archlabs-skel-awesome
pacman -S bspwm archlabs-skel-bspwm
pacman -S cinnamon gnome-terminal
pacman -S deepin deepin-extra
pacman -S fluxbox archlabs-skel-fluxbox
pacman -S gnome gnome-tweaks
pacman -S i3-gaps archlabs-skel-i3-gaps
pacman -S jwm
pacman -S lxqt breeze breeze-icons picom libpulse network-manager-applet
pacman -S openbox archlabs-skel-openbox
pacman -S plasma kde-applications-meta powerdevil
pacman -S xfce4 archlabs-skel-xfce4 xfce4-goodies
If you installed any sessions you’ll need a display manager, the most common are
- xinit: TUI startup - see https://wiki.archlinux.org/index.php/Xinit
pacman -S xorg-xinit # required: create/edit /home/USER/.xinitrc to start your session
- lightdm: GUI startup - see https://wiki.archlinux.org/index.php/LightDM
pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings accountsservice # enable the service systemctl enable lightdm # optionally: edit /etc/lightdm/lightdm.conf and/or /etc/lightdm/lightdm-gtk-greeter.conf
3. Configs and Cleanup
You’ll need to make a user account and copy the skel to the user’s home, the skel configs will include wm, shell, and application configs (note that USER should be replaced with the username and SHELL with either bash or zsh)
# exit the chroot exit # create home and copy over skel mkdir -p /mnt/home/USER cp -rfaT -b --suffix='.bak' /mnt/etc/skel/ /mnt/home/USER # re-enter chroot arch-chroot /mnt useradd -m -g users -G log,rfkill,wheel -s /bin/SHELL USER # set the password passwd USER
When creating the user we added them to the
wheel group, on most systems this group is used to allow running commands through
sudo, we need to edit the sudoers file to allow it. This can be done with the following command or using
visudo and uncommenting the line
sed -i "s/# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/g" /etc/sudoers
After all this you should now have a bootable system with our default configs and one or more WM/DE installed. Feel free to tinker around and install additional packages at this point, once finished exit the chroot and reboot
I’m sure there are things that I got wrong or missing. I’ll continue to update this as issues arrive, if you notice anything wrong please let me know.
I’ve decided to make this post a wiki so anyone can edit and make corrections, please don’t abuse this and make your edits clear.