5 min read

Installing Hyprland on Debian

Installing Hyprland on Debian

I tried Hyprland using the brilliant script from JaKooLit and fell in love with the dynamic tiling. I've spent 20+ years testing Linux on the desktop and never stuck with it, but Hyprland really grabbed me like Fluxbox did many years ago.

I didn't really like all the building and extras installed with Ja's script, so I wiped and installed sway as everything needed is in Bookworm. I lasted a day in sway (productive, I got a lot of work done) before I wanted to try beautiful Hyprland again with it's rounded corners and animations.

This time I would use just packages in Sid and build up my own install.

It seems the Hypr packages just came into Sid this August ❤️
I love my multi monitor setup, and have only just discovered the joys of a tiling wm 😄

Install

Install Debian and update to Sid

Install a base Debian with no desktop environment, add contrib non-free to sources.list and dist-upgrade Congrats, you are now running the latest version of Debian Sid ✌️

💡
Install the ssh-server, copy your keys over and do the install remotely

Increase the tty font size on a 3840x2160 monitor

sudo nano /etc/default/console-setup

FONTSIZE=“16x32”

setupcon

Install a base system with no desktop environment.

Then edit sources.list to change bookworm to sid and add contrib & non-free. Then upgrade and dist-update.

sudo apt install hyprland hyprland-protocols hyprwayland-scanner xwayland waybar fuzzel grim slurp cliphist swayidle swaylock hyprpaper nwg-look libglib2.0-bin bibata-cursor-theme

  • Fuzzel is a nice menu with icons
  • Waybar is the taskbar
  • Cliphist stores the clipboard to push into fuzzel
  • Grim and slurp are for taking screenshots
  • Hyprshot is not a package and needs cloning https://github.com/Gustash/Hyprshot
  • Hyprpaper is enough but simple - I want waypaper as well
  • Nwg-look is a gtk themer
  • Swaylock is the lock screen
  • Swayidle for auto locking the screen

Install essentials

sudo apt install zsh foot git firefox

Clone the dots and start hyprland

git clone [email protected]:sebday/debian-hyprnord.git ~/.config

Reboot and run hyprland. Now you can use firefox to copy paste :) Fonts will be broken until installed in the next step.

Oh my zsh

I can't live without auto suggestions and syntax highlighting now.

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting

Copy assets/.zshrc into ~/ and reboot to get the new shell.

Standard tools

sudo apt install eza fzf duf sshfs btop fastfetch pipewire alsa-utils playerctl pamixer pavucontrol imv mpv qalculate-gtk cava thunar thunar-archive-plugin thunar-media-tags-plugin gvfs-backends transmission libfuse2

GTK Theme

Copy Nordic into ~/.themes and set it in nwg-look

Fonts & Icons

Installing fonts through apt seems to miss the symbols needed for waybar and fastfetch. Extract from assets the fonts into ~/.local/share/fonts and the icons into ~/.local/share/icons

Firefox

Nord theme: https://github.com/dragonejt/nord-firefox
Copy firefox/userContent.css to ~/.mozilla/firefox/profile/chrome
In about:config set "toolkit.legacyUserProfileCustomizations.stylesheets" to true
Install the Stylus extension & import the backup in the firefox folder

Wallpapers

The binding $wallpaper = imv-dir ~/Pictures/Wallpapers/* and <Return> = exec sh -c 'echo "$imv_current_file" | ~/.config/hypr/set_wallpaper.sh'; quit in imv use the set_wallpaper.sh wallpaper script to open a folder in imv and set the wallpaper with hyprpaper. set_wallpaper.sh is hard coded to my monitor names and will need editing to work. A separate binding looks in a different widescreen folder and then applies images numbered 1, 2 and 3 separately to span a wallpaper across three monitors.

Other apps

Install insync and cursor and obsidian

# Add to shortcut.desktop for X11 apps like Brave or Cursor.
--enable-features=UseOzonePlatform --ozone-platform-hint=auto

Conclusion

I am very impressed with Hyprland and think I will stick on this for a while. Two days in and I feel very comfortable working, probably because I was "tiling" on three monitors anyway. I've gone with nine workspaces and use the numpad to swap which is very quick and natural. Nine keys and nine workspaces all makes sense to me.

Telegram and Whatsapp I prefer as "saved shortcuts" in Brave so they open in their own window with no browser bar etc. I'm not a fan of appimages and snaps.

I have really come round to Thunar for a file explorer, but as ever there are lots of choices. Not all good 😄 I like Dolphin but it needs 600+ KDE packages which seems silly. I could use SDDM and maybe Kate as well which share packages but I don't really need them.

One week later

Still hacking this badboy around getting everything just so. Clipboard history sorted, a different menu, wallpaper managers - I've tried loads of packages to see what I like.

There is such a hacker scene around WM in Linux right now.

Almost time to dust off the old DeviantArt profile and post some #unixporn 😆

Two weeks later

I bought a new Radeon card to go proper all in on Linux and boy is everything speedy :) I also added a fourth monitor 😄

Custom Soundcloud (icons are fixed now)#
Custom script to load a wallpaper folder in imv and set the wallpaper with a keybind

Three Weeks Later - HyprNord

My first rice in a while 😄 I made some custom dashboards in python so they can run in a terminal and spent a while theming Firefox dev tools and Soundcloud to the Nord colour scheme. I've totally got rid of Brave as it's performance is crap compared to Firefox. I'm running with no gaps or corners in "work mode" and it's very comfortable. Key binds are already second nature.

hyprland with no gaps or corners
firefox dev mode nord style

Resources

Colours: https://www.nordtheme.com/

Gtk: https://www.gnome-look.org/p/1267246/

Icons: https://github.com/NicklasVraa/NovaOS-nord-Icons

Fonts: https://www.nerdfonts.com/font-downloads

Cursor: https://packages.debian.org/sid/bibata-cursor-theme

Foot: https://codeberg.org/dnkl/foot/src/branch/master/themes/nord

Waybar: https://github.com/Pipshag/dotfiles_nord/tree/master/.config/waybar

VS Code: https://www.nordtheme.com/ports/visual-studio-code

Firefox: https://addons.mozilla.org/en-GB/firefox/addon/nord-firefox/

https://github.com/sebday/debian-hyprnord/blob/main/firefox/userContent.css

Soundcloud: https://github.com/sebday/debian-hyprnord/blob/main/firefox/stylus_soundcloud_nord.css

Whatsapp: https://github.com/sebday/debian-hyprnord/blob/main/firefox/stylus_whatsapp_nord.css