Linux Rice V2: Hyprland
Introduction
In 2023, I felt Wayland and Hyprland became mature and stable enough for me to daily drive. This year I also tried out the NixOS linux distribution for the first time. I really enjoyed the stability and reproducibility that came with NixOS but I ended up sticking to Arch because I found NixOS was hindering my love for constantly tinkering with my system. For this desktop setup, I’ve retained the majority of the app specific configurations I had on my AwesomeWM setup. The main changes for this new setup were the addition of Eww widgets and migration from some Xorg tools to Wayland.
Hyprland
Layouts
I use 9 workspaces plus one special workspace across two monitors. Workspaces 1-6 are attached to the main monitor and workspaces 7-9 are used on my second monitor. The default layout on every workspace is the dwindle tiling layout. There are many windowrules in the configuration to assign the floating state, transparency, and specific sizes to applications. Wallpapers are managed with swww.
Keybinds
Most of the keybinds for managing windows are ported over from my AwesomeWM configuration. The following are some of the new Hyprland specific keybinds:
- META + c - Centers a floating window
- META + SHIFT + SPACE - Toggle floating window
- META + g - Toggles glassmorphism effect
- META + SHIFT + x - Hyprpicker color picker
Animations and Blur
There is a fast and snappy bezier curve animation based on Material design 3 applied to moving windows. There is a slight tasteful blur applied to transparent windows by default. A more intense glassmorphism blur can be toggled from the prior keybind.
The Terminal
My workflow in the terminal is virtually the same. I still primarily use Kitty and Tmux. My go-to font is still cascadia-code patched with nerd font and my preferred colorscheme is the Macchiato flavour of Catppuccin. I am trying out the Fish interactive shell but have not yet decided if I prefer it over ZSH configuration. Since switching to Wayland I have yet to find a complete replacement for Ueberzug for image previews in the lf file manager. I’ve gotten previews to work seamlessly in kitty+lf but there are some funky behaviours in tmux+kitty+lf.
The Eww Bar
I started out using the waybar for my bar but after some inspiration from end-4’s dotfiles I decided to create my own Eww bar for better customizability. Some notable modules in the bar include the Hyprland workspace indicator, system monitors, and script shortcuts. Other than that, the other features remain consistent with my past polybars, wibar, and waybar.
Widgets and Panels
All panels and widgets are made with Eww and tries to follow the Material Design 3 design system. There is a default colorscheme and a dynamic theme switcher that generates a colorscheme according to the current wallpaper.
Settings
The settings panel provides sliders, toggles, and buttons to control various parts of the desktop. These settings include volume, brightness, nightlight, mouse sensitivity, window blur, window gaps, window borders, and power options.
Music
Displays the currently playing song’s title, author, and progress. The widget also provide media buttons and has an audio visualizer powered by cava.
Notifications
Work in progress.
Workflow
Development
My primary editor is my neovim configuration. The secondary editor I use is VSCode. If I require the use of a full-fledged IDE I have configured IntelliJ IDEA CE to be used. I use QEMU and the Libvirt GUI to create and manage virtual machines.
Writing
My latex writing setup comprises of the vim plugin vimtex and the PDF viewer Zathura.

Notetaking
I use a combination of Obsidian.md and Gimp for notetaking. I use these applications mostly stock. The notable plugins I use for Obsidian are vim and excalidraw.
Media
For music I switch between the Spotify player customized with Spicetify and playing local files with mpv. I use the Celluloid frontend for mpv. Audio is managed with pipewire, wireplumber, and EasyEffects. EasyEffects is used to equalize my Senheiser 560S headphones and Shuoer S12 IEMs.

Gaming
- osu!lazer
- Prism Launcher (Minecraft launcher)
- Wine/Bottles (Windows emulation)
- Waydroid (Android emulation)
- Yuzu (Switch emulation)