Haku Space
Arch Linux dotfiles for Hyprland / Niri / MangoWM / Labwc
Haku Space now supporting Fedora too! See Fedora Guide
🛠️ Installation | 🔄 Update | 📦 Packages | 🕹️ Keybinding | 🐞 Troubleshooting
Need help or want to chat? Join our Discord server or follow us on TikTok for showcase videos!
- Multi-WM Support: Designed for Arch Linux (supports Hyprland, Niri, MangoWM, Labwc) with seamless switching between window managers.
- Distro Agnostic: Compatible with any Linux distribution given the core dependencies are installed.
- DE-like Experience: Modular UI powered by Rofi, Waybar, SwayNC, and custom scripts.
- Extensible: Highly customizable and easy to adapt to your own workflow.
- Control Center:
~/hakuspace-controlthis directory stores your custom configs so you don't have to touch the main ones, giving you much more freedom to customize. - Accent Colors: Synced across Waybar, Rofi, Kitty, Swaync,... giving your setup a Super Clean and Cohesive Vibe!
- Smart Accent Color: Automatically generates the accent color palette based on your current wallpaper.
- Flexible Waybar Layouts: Support layouts:
top,left,coredge,minimal,full,neon(Will be extended more). - Unique Cava Underbar: Dynamic audio visualizer waves seamlessly layered directly beneath the Waybar.
- Wallpaper Automation: Wallpapers change automatically every 5 minutes (customizable WALL_INTERVAL in the
main_setting.sh). - Dockbar: Built-in, Another Waybar with
wlr/taskbarmodule, can pin applications, looking like a Taskbar or Dock. - Desktop Icons
(experimental): Built-in, Items in folder~/Desktopwill be shown on Desktop (still bugs btw).
[!note] My dotfiles are powered by scripts; if you're not using them, there's no impact on your performance!
If you have any questions about how to use my dotfiles or want some tips, don't hesitate to reach out on Discord
See more information in: pkg-core | pkg-service | pkg-optional
Specific packages for each WM: pkg-hyprland | pkg-niri | pkg-mango | pkg-labwc
| Component | Program |
|---|---|
| Terminal | Kitty |
| App Launcher | Rofi |
| Status Bar | Waybar |
| Shell | Zsh |
| File Manager | Thunar |
| Notifications & Control Center | SwayNC |
| Wallpaper | Awww |
| Idle Management | Hypridle |
| Screen Lock | Hyprlock |
| Login Menu | Ly |
| Editor | VS Code |
| Browser | Zen |
| Screen Recording | Wl-screenrec |
| Display Manager | Ly |
XDG Desktop Portal: GTK by default, but each WM will use its specific, recommended portal according to its official wiki (hyprland uses hyprland, niri uses gnome, and mangowm/labwc uses wlr).
Accent Color based on wallpaper using python-colorthief
[!Important] Prerequisites: You need a pre-installed Arch Linux or an Arch-based Linux Distro (A fresh install is highly recommended). If you already have an existing WM or DE configuration, it is best to only reference the configs in HakuSpace rather than running the installation script directly over your system.
[!tip] For Fedora users, you can follow the Fedora Guide
1. Clone the Dotfiles
If you prefer to experience the lastest changes (Lastest Git), you can clone the main branch:
cd ~
git clone https://github.com/hakuimaku/hakuspace.git ~/hakuspace
If you prefer the version I've tested (a little honestly), clone the stable release version v2.2.1 (lastest):
cd ~
git clone --depth 1 --branch v2.2.1 https://github.com/hakuimaku/hakuspace.git ~/hakuspace
Switch to the hakuspace directory:
cd hakuspace2. Run the Installation Script
chmod +x install.sh
./install.sh3. Complete the Installation
After running the installation script, restart your computer and log in to either Hyprland, Niri, Mango or Labwc to experience the new setup.
4. After Installation
- Change the GTK theme:
- Go to
GTK Settingsin Rofi App Menu. - Change the theme, icons, and mouse cursor for a better aesthetic.
- Install additional packages:
waybar-cava is a plugin for Waybar that provides a visualizer for audio output. My waybar top needs this to work properly (cava module).
yay -S waybar-cava- Allow Local Root User to Access X/Xwayland Display
xhost +si:localuser:rootGrants the local root user permission to connect to and launch graphical (GUI) applications (like GParted) within the current user's active X server or Xwayland session.
🔽 Update Haku Space to lastest version
- Get the lastest version
- Git pull for the lastest git.
cd ~/hakuspace
git pull origin main- Git fetch for the lastest stable release.
cd ~/hakuspace
git fetch --tags
LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
git checkout $LATEST_TAG- Update
- Run
update.shscript in hakuspace folder.
cd ~/hakuspace
chmod +x update.sh
./update.sh🗑 Uninstall Haku Space
(WM: The Window Manager you are currently using, e.g., hyprland, niri, mango).
My dotfiles are very clean. You just need to check the config folders that were copied from common and specific WM in ~/hakuspace, then delete them from ~/.config (During installation, the install.sh script automatically created a backup of your existing configuration files so you can backup your old config).
- Remove all scripts located in
~/.local/bin. - Delete the auto-generated files in
~/.local/state/haku_theme. - If necessary, you can also remove the icons and themes inside
~/.iconsand~/.themes. - Review
pkg-core.txt,pkg-service.txt,pkg-optional.txt(in hakuspace/common) andpkg-WM.txt(in hakuspace/WM) to uninstall any unnecessary packages. - Finally, you can completely delete the
~/hakuspacedirectory.
You can immediately use the plugins that I have pre-configured. Simply install and enable them using the commands below (or tweak them as you like in plugin.lua).
- hyprexpo - Overview layout for your workspaces.
- hypr-dynamic-cursors - Smooth, physics-based dynamic cursor effects.
hyprpm update
hyprpm add https://github.com/virtcode/hypr-dynamic-cursors
hyprpm enable dynamic-cursors
hyprpm add https://github.com/sandwichfarm/hyprexpo
hyprpm enable hyprexpo
hyprpm reloadRead the Wiki for more info: https://wiki.hypr.land/Plugins/Using-Plugins/
See more in ~/hakuspace-control/hyprland-custom.lua for guide.
| Bind | Function |
|---|---|
| SUPER + Q | Open Kitty Terminal |
| SUPER + C | Kill Focus Window |
| SUPER + TAB | Open Menu |
| SUPER + R | App Menu |
| SUPER + W | Toggle Dockbar |
| SUPER + P | Screenshot |
| SUPER + Z | Toggle Floating |
| SUPER + V | Open Clipboard History |
| SUPER + A/S | Focus Left/Right Window |
| SUPER + Y | Wallpaper Select |
| SUPER + SHIFT + Y | Lively Wallpaper Select |
| SUPER + SHIFT + W | Cycle Waybar Mode |
| SUPER + X | Cycle Hyprland Layout (Hyprland Only) |
| SUPER + ` | Open Special Workspace - For VS Code (Hyprland Only) |
- Labwc:
| Bind | Function |
|---|---|
| SUPER + Space | Open Root Menu |
| SUPER + ` | Open Client Menu |
| ALT + ` | Open Combined Client Menu |
| SUPER + A | Maximize |
| SUPER + S | Iconify |
| SUPER + D | Show Desktop |
| SUPER + Z | Shrink Size Window (-10%) |
| SUPER + X | Resize By Mouse |
- Custom config (your personal changes):
~/hakuspace-control - Icons:
~/.icons - Themes:
~/.themes - All hakuspace scripts:
~/.local/bin - Fastfetch logo:
~/.config/fastfetch - Wallpapers:
~/Pictures/Wallpapers - Lively wallpapers:
~/Videos/Wallpapers - Lively wallpaper thumbnail: in folder Preview
~/Videos/Wallpapers/Previewand add image .jpg/.png (same name with video) to make the thumbnail appear in rofi select menu if you want to use lively wallpaper - State file & Haku Theme for waybar, rofi,... (includes accent_color, font, font size):
~/.local/state/haku_theme
- Open your terminal on Workspace 1 and type
hakufor a little surprise. To close them, just append the '--clear' argument (e.g.,haku --clear). - Cava Underbar: To toggle a Cava visualizer right below Waybar, select Cava Underbar from the Haku Menu. It automatically hides during fullscreen and reappears when you exit. To disable it completely, just toggle it again in the Haku Menu.
Waybar bugs:
- Waybar clock: You should set your timezone and locale manually in waybar configuration to ensure the clock displays correctly.
- Waybar cava module: If you encounter issues with the Cava module in Waybar, ensure that you have installed
waybar-cavaand that it is properly configured in your Waybar config file. - Waybar use
ext/workspacesfor Multi-WMs setup.
My dotfiles bugs:
- Currently, my custom
gtk.cssis only compatible with GTK 3 and only supports Dark Mode. If you are using Light Mode, you may encounter some issues with the appearance of GTK applications (Thunar). If you don't want to use my thunar theme, removegtk.cssin~/.config/gtk-3.0/. - Cava Underbar in Niri does not support the no-focus rule. As a result, you might accidentally move it from its original position or close it by mistake.
- Some features might still be missing since I only tested this setup for my personal use. If you need more than what's provided, you'll need to install and configure those parts manually.
- If you don't want to use certain apps (like
wl-screenrec,thunar,lyetc.), you can easily remove and replace them with alternatives. However, some apps are deeply integrated into my scripts or configs, so removing them may break functionality or cause those scripts/configs to stop working. - If you find that the script isn't working, run it directly in the terminal to see what the error is.
- If you encounter any issues during installation or configuration, just ask me in some video on my Tiktok, open an issue on GitHub or Join my Discord to get more help!. I will do my best to help you out.
If you're using Fedora:
- Swaync service may automatically start on Fedora. Which can cause issues when startup. To fix this, you can disable the Swaync service by running the following command:
systemctl --user disable swaync.service- This is a personal dotfiles configuration. Feel free to fork and adapt it to your needs!
- Tiktok / See more showcase: @hakuimaku2372
- Discord: hakuspace-dots
See hakuspace-archive for the assets used in this project: hakuspace-archive