Hello. This document explains how BlackNode has been personalised – the unique touches, custom scripts, and configuration choices that make it different from a stock Arch Linux + Hyprland setup. If you are installing BlackNode, you are not just getting packages; you are getting a carefully crafted environment.
BlackNode uses wallust (AUR) to dynamically generate colour palettes from your wallpaper. Every time you change the wallpaper, wallust updates:
- Terminal (Kitty) colours
- Waybar colours (background, text, icons)
- Rofi colours (launcher, menu)
- Dunst notification colours
- Hyprland borders and window decorations
The script ~/.local/bin/update-wallust.sh is triggered by your wallpaper selector (bound to SUPER + W). It calls wallust run and then restarts Waybar, Rofi, and Dunst with the new colours.
While wallust generates colours, the fallback and default theme is Catppuccin Mocha. All configuration files reference these colours as variables, so when wallust updates, every application follows the same palette.
BlackNode defines over 50 custom keybindings. They are stored in ~/.config/hypr/keybindings.conf and sourced from the main hyprland.conf. The most important personalised binds:
| Keys | Action | Personalisation |
|---|---|---|
SUPER + D |
Open Kitty terminal | Uses a custom session that loads blacknode theme |
SUPER + H |
Screenshot (hyprshot) | Takes a screenshot of the active window or selected region, saves to ~/Pictures/screenshots/ |
SUPER + L |
Lock screen (hyprlock) | Uses a custom hyprlock.conf with wallust colours |
SUPER + SHIFT + X |
Logout menu (wlogout) | Launches wlogout with a themed layout |
SUPER + S |
Toggle scratchpad (special workspace) | A floating terminal appears/disappears – great for quick commands |
SUPER + R |
Rofi launcher | Customised with 5 modes: run, window, drun, ssh, and calc |
Alt + Z |
Accept zsh-autosuggestion | One‑key completion of suggested commands |
Ctrl + R |
fzf history search | Enhanced history search with preview |
All keybindings are commented in the config file, so you can change them easily.
BlackNode includes three Waybar styles (in ~/.config/waybar/):
- Classic – Full modules: workspaces, media, hardware, updates, resources, clock, idle inhibitor, active window.
- Minimal – Only workspaces, clock, system tray. Designed for focus.
- Hacking – Adds VPN status, target IP, quick‑scan buttons (work in progress).
Each style uses wallust colours. You can switch between them by editing ~/.config/waybar/style.css and restarting Waybar (or using the provided script ~/.local/bin/switch-waybar-style.sh).
custom/pacman– Shows number of available official updates. Click to update.custom/pkg-aur– Shows AUR update count (fromyay -Qua).custom/power– Wlogout launcher.custom/target– For hacking style: set and display a target IP.mpris– Now playing with player‑specific icons.
BlackNode's ZSH configuration (~/.zshrc) is modular:
- Plugins: zsh-autosuggestions, zsh-syntax-highlighting, fzf-tab, zsh-history-substring-search, zsh-completions, you-should-use.
- Aliases: Over 40 aliases for pacman, git, docker, file system, and system commands (see
ALIASES.md). - Prompt: Powerlevel10k with a custom
.p10k.zshthat uses wallust colours. The prompt shows git status, command execution time, and exit codes. - History: Shared across sessions, ignores duplicates, size 50,000.
Rofi is configured with five modes:
- Run – Launch applications by typing.
- Window – Switch between open windows.
- Drun – Desktop‑application launcher (with icons).
- SSH – Quick SSH connection to hosts from
~/.ssh/config. - Calc – Built‑in calculator mode.
The theme (~/.config/rofi/config.rasi) is generated by wallust, so colours match your wallpaper. The launcher is bound to SUPER + R and SUPER + SHIFT + R (for window mode).
BlackNode includes several custom scripts (all executable):
| Script | Purpose |
|---|---|
update-wallust.sh |
Regenerate colours and restart services after wallpaper change. |
switch-waybar-style.sh |
Change between classic, minimal, and hacking styles. |
screenshot.sh |
Wrapper for hyprshot with dunst notifications. |
volume.sh |
Volume control with on‑screen notification (used by multimedia keys). |
brightness.sh |
Brightness control with notification. |
dnd.sh |
Toggle Do Not Disturb mode in Dunst. |
suspend.sh |
Suspend system with locking. |
target.sh |
Set or clear target IP (for hacking style). |
All scripts are written in Bash and use notify-send (via libnotify) for feedback.
BlackNode is not meant to be used as‑is forever. The personalisation is designed to be understandable and changeable. Every config file is heavily commented. The structure is modular, so you can remove components you do not use. The goal is to give you a starting point that already looks and works the way you want, but that you can easily mould into your own unique setup.
If you see something you do not like – change it. If you want to add a new Waybar module – copy an existing one and tweak it. That is the spirit of personalisation.
This document reflects the current state of BlackNode. As the project evolves, so will the personalisation.
— HollowSec