It is now time to install a graphical desktop environment - [Hyprland][hyprland].
Install hyprland (and some additional tools that we will use in the graphical environment) with
yay -S hyprland-git kitty wev pipewire pipewire-audio pipewire-alsa pipewire-pulse pipewire-jack wireplumber \
ttf-bitstream-vera ttf-croscore ttf-dejavu ttf-droid gnu-free-fonts ttf-liberation libertinus-font noto-fonts \
ttf-roboto ttf-ubuntu-font-family ttf-anonymous-pro ttf-cascadia-code ttf-fira-mono otf-fira-mono inter-font \
ttf-fira-code ttf-hack ttf-inconsolata ttf-jetbrains-mono ttf-roboto-mono adobe-source-code-pro-fonts noto-fonts-emoji \
ttf-ms-fonts ttf-vista-fonts xdg-desktop-portal-hyprland qt5-wayland qt6-wayland xcursor-breeze nemo wofi \
colloid-catppuccin-gtk-theme-git ttf-robot-mono-nerd ttf-firacode-nerd otf-firamono-nerd btop hyprpaper \
git make unzip gcc tar curl ripgrep luarocks wl-clipboard pavucontrol waybar otf-font-awesome \
brightnessctl inotify-tools socat jq papirus-icon-theme network-manager-applet dunst \
breeze-icons
You can now start Hyprland at any time with the command Hyprland.
Hyprland will be started with the default configuration. Useful keybinds for now:
Super + M exit HyprlandSuper + Q open Kitty Terminal EmulatorAdapt the configuration file ~/.config/hypr/hyprland.conf to your liking. Or download the dotfiles provided
in this repository.
If the system is used by a single user only, it might be a sensible step to automatically login to the user account on TTY1. The computer is protected by the encryption password and Secure Boot anyway already.
Create a drop-in file for getty@tty1.service with the following contents in
/etc/systemd/system/getty@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin <username> %I $TERM
Environment=XDG_SESSION_TYPE=wayland
Automatically start Hyprland if connected to TTY1. Create the file ~/.bash_profile with the following content:
if [ -z "${HYPRLAND_INSTANCE_SIGNATURE}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
Hyprland
# use the following line instead to auto-restart Hyprland if it crashes
# exec Hyprland
fi
When Hyprland crashes, you might want to see the output of the Hyprland command. Unfortunately, systemd clears
the TTY when Hyprland exits. To prevent this, create the following drop-in file
/etc/systemd/system/getty@tty1.service.d/noclear.conf
[Service]
TTYVTDisallocate=no
Modify the file /etc/systemd/logind.conf and edit the line with HandleLidSwitch to read
HadleLidSwitch = ignore
Install the tool stow with sudo pacman -S stow and install the dotfiles:
cd dotfiles
stow
From your home directory, clone the dotfiles into a directory ~/dotfiles.
# read only
git clone https://git.zechert.net/azos/dotfiles.git
# or read-write
git clone git@zechert.net:azos/dotfiles.git
# install the files
./install.sh
Hint
Instead, feel free to clone your own dot file repository.