Hyprland (Ricing Linux journey)

ronnie_gogs

Morphing from a Geek to a Nerd
Herald
I have mostly been Gnome and Xfce user. Although most of time I spend time in the terminal or a browser.

I installed Arch a few days back for the first time and was introduced to Hyprland. (Was late to party as always). Anyway Hyprland didn't work well on my virtual machine and I didn't want to spend time configuring it on a Arch VM. I will never daily drive Arch anyway to be honest. So I decided to try it on a bare metal Fedora Workstation.

What is Hyprland ?
Hyprland is a dynamic Wayland tiling compositor which is highly configurable.In simple terms its just pretty and dynamically allows me to manage windows without me lifting my fingers off the keyboard.

Which looks something like this.

Why Hyprland ?
I want to start coding more and so wanted a cool looking environment for coding. A nice tiling manager running on wayland which just lets me do stuff. Since Fedora workstation default is wayland one step is already done.

Things I plan to configure

  • Hyprland: Tiling window manager
  • Thunar: File manager
  • Kitty: Terminal emulator
  • Neovim: Editor
  • Wofi : Program Launcher
  • Waybar : Status bar
  • Tmux: Terminal multiplexer
  • Pywal: Dynamic color scheme
Will document my ricing journey as I move along the way until I have the ultimate coding nirvana environment to write 'Hello World'

Self Care Meditation GIF by MOODMAN
 
Last edited:
First Time to Install and Launch Hyprland.

Installation of Hyprland is very simple.
Run : sudo dnf install Hyprland

Now in order to run it it will depend on what kind of graphics card situation you have. If AMD GPU absolutely no issue. However if Nvidia GPU then its a bit of a mess. Mine is a dual GPU on a laptop with Intel and Nvidia RTX 4050. Wont go into process of installing a Nvidia driver installation for Fedora. Just follow a guide to use RPM fusion. Make sure you are using nvidia instead of Nouveau.
vs overclocking GIF



Confirm with
Run: nvidia-smi
1733068433417.png


Edit the hyprland configuration file
/home/<user>/.config/hypr/hyprland.conf

Add following lines adding and setting variables.
env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia


Also installed Nvida VAAPI driver. Increases nvidia performance. In this case it will give hardware acceleration.
Run : sudo dnf install nvidia-vaapi-driver libva-utils vdpauinfo

Then add following to conf file.
env = NVD_BACKEND,direct

Reboot and Select Hyprland in the bottom right corner cog while when logging in.
1733072361236.jpeg


And you are inside Hyprland.

Shorcuts

Mod (Windows Key) + M should log your out. Very important as without configuration wayland is nothing a bare wallpaper desktop.

Multi-GPU Settings
lspci | grep -E 'VGA|3D'
1733070917897.jpeg

ls -l /dev/dri/by-path
1733071063840.png

Looking at PCI id we can tell that
Card 1 is Intel
Card 0 is Nvidia

Configure Hyprland telling it to use which GPU. Add the following line to conf file to let hyprland know to use the integrated GPU for light loads.
env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0


 
Last edited:
Hyprland had a few issues with configuration so it was easier to use .dot file configuration to set it up.

I used https://github.com/mylinuxforwork/hyprland-starter.

Nvidia changes made were applied as well. Depending on hyprland version there were errors with default configuration. Decorations default conf needed to be changed depending on the version of hyprland. Rest can be configured either from the settings on various configuration files in ~/.config/hypr/conf/

Decorations : default.conf file changes.
1733683329628.png


After that all was smooth sailing for Hyprland. Tiling window manager can take some time to get used to. One configuration change was remap of keybinding for ALT + TAB for switching between last two windows.

/home/adrax/.config/hypr/conf/keybindings/default.conf
Added following lines to the file

bind = ALT,TAB,focuscurrentorlast # Switch between last window. (Alt + Tab like windows)

Default main apps
  • neovim - Installed. Configuration of Neovim would be the main part of this configuration cause 80% of time would be spent here.
  • thunar - file explorer was made default.
  • terminal - kitty
  • browser - firefox
  • pywal for changing the color scheme based on wallpaper
  • waybar as status bar
Terminal Emulators tried
1733684095828.png

Alacritty
1733684223035.png

Kitty
1733684283906.png

Wez term
1733684459828.png

Gnome Terminal

Wezterm had issues in running without errors. Kitty and Alacritty were almost equal. Settled on kitty for now due to some advantages over alacritty. Maybe will try ghostty when it launches.

File explorers tried
Terminal different file managers such as yazi, nautilus but settled on thunar due to pure speed and ease of use. Just needed a fast way to navigate folders and files.

Next I will be documention Neovim configuration from scratch.

Tried kickstart and Lazy.vim and other preconfigured configurations but nothing clicked. So I decided to configure Neovim from scratch. Not installing 40+ plugins where I dont know why something is installed and learning keybinding set by others. Just essential plugins configuration which makes sense for me.

1733685640590.png
Is the final boss.