Written in a hurry, will polish it later
Installation Environment
This assumes you’ve already installed Arch and have at least one AUR helper (like paru, yay).
I use yay here, so if you don’t use yay, swap the commands out yourself — I trust that’s not hard for an Arch user.
Preparation Before Installing
Update your system first before doing anything else
1 | yay -Syu |
You need to download the following packages
1 | sudo pacman -S niri xdg-desktop-portal-gtk xdg-desktop-portal-gnome alacritty swaybg swayidle hyprlock xwayland-satellite dolphin sddm brightnessctl wireplumber grim flameshot breeze wshowkeys-git fcitx5 fcitx5-qt fcitx5-chinese-addons blueman noto-fonts libnotify pipewire pipewire-pulse |
Noctalia Shell is a UI built with Material Design. It can take over system notifications, sound and display brightness control, and our status bar is provided by it — we don’t use waybar.
Vicinae is for launching apps, similar to the function of pressing the Super key on its own in Hyprland
Configuring systemd
If you weren’t already using sddm as your login manager, enable it now. If you have no idea what that means, you’ve probably already enabled it
1 | sudo systemctl enable sddm.service |
Then write a service for swayidle
1 | vim ~/.config/systemd/user/swayidle.service |
Paste this inside
1 | [Unit] |
It means: after 600 seconds of no input, hyprlock locks the screen; at 601 seconds the monitors get turned off. For more actions see the official swaylock docs.
Next, edit niri’s wants, which is a bit like dependencies
1 | systemctl --user add-wants niri.service swayidle.service |
This lets swayidle automatically take over locking, sleeping and so on
Note: don’t follow the many tutorials telling you to enable waybar and mako — we don’t use them!
Next, create the niri config file
1 | vim ~/.config/niri/config.kdl |
Then write in the following — but don’t copy all of it, read the comments and change what needs changing
1 | // Configuration related to input devices: keyboard, mouse, touchpad, etc. |
There are a lot of keybindings; go look at them yourself. I’ll add more when I get around to it.
Here we use Hyprlock for locking the screen
1 | ~/.config/hypr |
Build a directory structure like this
Then back up your original ~/.config/hypr/hyprlock.conf, and fill it in with the config below
1 | source = $HOME/.config/hypr/mocha/mocha.conf |
Also copy your avatar over to ~/.face. (Note: that’s creating a .face file, not putting your avatar image inside a .face folder!)
Do the same for ~/.config/hypr/mocha/mocha.conf and fill in the following config
1 | $rosewater = rgb(f5e0dc) |
You can change the colors yourself
If you try it you’ll notice you have to type your password twice when logging in, which is no good, so we set up autologin — that way only one password.
Edit /etc/sddm.conf.d/autologin.conf
1 | [Autologin] |
Alright, you can reboot into Niri now — go explore it yourself
