BlackNode is my personal Linux configuration. It grew from years of tweaking, breaking, and slowly understanding what makes a system feel like home. It is not a monolithic rice you copy and forget. It is a living set of files, each one written to be read, understood, and eventually changed by you.
Every tool in this setup was chosen deliberately. Nothing is here just because it is popular. The install is unified: a single installer links what you need and builds the local components. Nothing runs without your input.
| Component | Tool | Role |
|---|---|---|
| Window Manager | Hyprland | Dynamic tiling Wayland compositor |
| Status Bar | Waybar | Fully configurable bar |
| Terminal | Kitty | GPU-accelerated terminal emulator |
| Shell | Zsh + Powerlevel10k | Fast shell with a powerful prompt |
| Launcher | Rofi | App launcher and dmenu replacement |
| Notifications | Dunst | Lightweight notification daemon |
| Lockscreen | Hyprlock + Hypridle | GPU-accelerated lock with idle management |
| File Manager | Yazi | Blazing-fast terminal file manager |
| Editor | Neovim | Extensible modal text editor |
| Theming | Matugen | Material You colours generated from your wallpaper |
| Wallpaper | awww | GPU-accelerated Wayland wallpaper daemon |
| Clipboard | Clipse | Persistent clipboard history for Wayland |
| Audio | Cava | Terminal audio visualiser |
| Logout | Wlogout | Clean session management screen |
| System Info | Fastfetch | Fast, customisable fetch tool |
| AUR Helper | yay | AUR package manager |
BlackNode is not a folder of scripts — it is a small software system with a clear layout:
BlackNode/
├── Configs/ # the actual dotfiles (symlinked by linkdots.sh)
│ ├── .config/ # hypr, waybar, rofi, kitty, nvim, dunst, ...
│ └── .local/bin/ # shell entrypoints (blacknode, bn-menu, daemons)
├── src/ # source code (not symlinked)
│ └── brain/ # blacknode-brain: Rust learning engine (Cargo)
├── scripts/ # operator tooling: install, linkdots, health
├── docs/ # architecture + reference documentation
├── assets/ # logo and imagery
├── version.json # ecosystem version + component versions
└── ARCHITECTURE.md # how the layers fit together
The blacknode command is the front door to everything: blacknode doctor
checks the whole system, blacknode brain controls the local intelligence
engine, blacknode profile switches environments. See
ARCHITECTURE.md for the full picture.
Everything in the adaptive layer is local-only: no network calls, no
external models, no telemetry. Behavior data stays in
~/.local/share/blacknode/.
BlackNode is designed for a minimal Arch Linux install. It may work on Arch-based distros, but this has not been tested on all of them.
Important
Installing BlackNode alongside another DE or WM should work, but it will overwrite your GTK, Qt, SDDM, shell and Zsh configuration. Proceed at your own risk.
Note
Scripts/linkdots.sh will create symbolic links from this repo into your
home directory. The Rust brain is built and installed automatically.
Clone the repository and run the installer:
git clone https://github.com/zhaleff/BlackNode.git $HOME/BlackNode
cd $HOME/BlackNode
bash Scripts/install.shFor a manual link only (no package install), run:
bash Scripts/linkdots.shTip
Read docs/INSTALLATION.md for the full, step-by-step install guide.
Please reboot after the installer completes for all changes to take effect.
I have been where you are. I have stared at other people's dotfiles, overwhelmed by the complexity, convinced I could never create something like that. But I started small. I copied one line, then another. I broke things and fixed them. And slowly, it became mine.
You can do this. You are capable of more than you know. All it takes is the courage to start, the patience to learn from mistakes, and the belief that you belong here.
BlackNode is not the answer. It is just a starting point. The real answer is inside you.
Now go. Explore. Break things. Fix them. And make this your own.
BlackNode is released under the MIT Licence. You are free to use, modify, and share it however you wish. Attribution is appreciated but not required.
Made with ❤️ by zhaleff
Happy configuring.
