███╗ ██╗ ██████╗ ██████╗████████╗██████╗ █████╗ ██████╗ ███████╗
████╗ ██║██╔═══██╗██╔════╝╚══██╔══╝██╔══██╗██╔══██╗ ██╔═══██╗██╔════╝
██╔██╗ ██║██║ ██║██║ ██║ ██████╔╝███████║ ██║ ██║███████╗
██║╚██╗██║██║ ██║██║ ██║ ██╔══██╗██╔══██║ ██║ ██║╚════██║
██║ ╚████║╚██████╔╝╚██████╗ ██║ ██║ ██║██║ ██║ ╚██████╔╝███████║
╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝
Noctra OS is a fully modular, performance-tuned Hyprland configuration built on Arch Linux. It's designed around a single philosophy: everything that touches the screen should be intentional.
The result is a clean dark desktop that stays out of your way — with a Dynamic Island-style Waybar notch, a Material You color system driven by your wallpaper via Matugen, and a shell that loads in milliseconds.
| Component | Tool | Notes |
|---|---|---|
| OS | Arch Linux | Rolling release, minimal base |
| Window Manager | Hyprland | Dynamic tiling, Wayland-native |
| Bar | Waybar | Custom Dynamic Island notch |
| Notifications | SwayNC | Control center + notification daemon |
| Terminal | Kitty | GPU-accelerated, ligature support |
| Shell | Zsh + Starship | Fast, lazy-loaded plugins |
| App Launcher | Rofi | Multi-style launcher themes |
| Wallpaper | awww (formerly swww) | Smooth animated transitions |
| Color Engine | Matugen | Material You wallpaper-driven theming |
| File Manager | Thunar | Lightweight GTK file manager |
| System Monitor | btop | Resource monitor, custom themed |
| Audio Visualizer | cava | Terminal-based spectrum analyzer |
| Fetch | fastfetch | System info on shell launch |
| OSD | swayosd | On-screen volume/brightness display |
| Hardware | AMD Ryzen 5 (iGPU) | All settings tuned for integrated graphics |
The bar is styled as a notch that drops from the top edge of the screen — no floating pills, no side panels. Everything lives in a single center module group with a border-radius: 0 0 25px 25px hanging shape. Jitter-free workspace buttons use a fixed min-width to prevent layout shifts.
Every application — Waybar, SwayNC, Kitty, Hyprland borders, Rofi, btop, cava, fastfetch — is themed from a single source of truth: your wallpaper. Running matugen image <wallpaper> regenerates all color files simultaneously. No manual hex-editing, ever.
Wallpaper → Matugen → colors.css / colors.conf → All Apps
The main hyprland.conf is purely a source manifest. Each concern lives in its own file:
hypr/
├── hyprland.conf # Entry point — sources only
├── look.conf # Gaps, borders, blur, shadows, rounding
├── animation.conf # Bezier curves and animation speeds
├── keybindings.conf # All binds in one place
├── autostart.conf # exec-once daemons
├── env.conf # Wayland/Qt/SDL environment vars
├── input.conf # Keyboard, touchpad, gestures
├── layout.conf # Master/dwindle layout settings
├── misc.conf # VFR, DPMS, logo suppression
├── monitors.conf # Display resolution and scaling
├── rules.conf # Window rules
└── colors.conf # Auto-generated by Matugen — do not edit
The .zshrc is built for speed:
- Lazy NVM loading —
nvm,node,npm,npx, andyarnare stubs that bootstrap the real NVM only on first use - Cached completions —
compinitonly re-runs if.zcompdumpis older than 24 hours - Plugin order enforced — autosuggestions before syntax highlighting (required for correct render)
- Matugen-aware highlights —
zsh-syntax-highlightinguses Kitty's ANSI palette, which Matugen has already set from your wallpaper
# Wayland / Hyprland
hyprland waybar swaync swayosd awww hyprlock hypridle
# Terminal & Shell
kitty zsh starship
# Launcher & Tools
rofi-wayland grim slurp thunar polkit-gnome
# Theming
matugen ttf-jetbrains-mono-nerd
# System
btop cava fastfetch playerctl brightnessctl# Using paru or yay
paru -S matugen-bin awww-git swayosd-git
⚠️ Back up your existing~/.configbefore proceeding.
# 1. Clone the repository
git clone https://github.com/Blaze2216/dotfiles.git ~/dotfiles
# 2. Copy configs
cp -r ~/dotfiles/.config/* ~/.config/
cp ~/dotfiles/zsh/.zshrc ~/.zshrc
# 3. Install dependencies (Arch)
sudo pacman -S hyprland waybar swaync kitty zsh starship \
rofi-wayland grim thunar btop cava fastfetch playerctl brightnessctl
# 4. Install AUR packages
paru -S matugen-bin awww-git swayosd-git
# 5. Set your wallpaper and generate colors
matugen image ~/Pictures/wallpapers/your-wallpaper.jpg
# 6. Launch Hyprland
HyprlandNoctra OS is designed to be re-themed in a single command. The wall alias makes this instant:
# From anywhere in your shell
awww img ~/Pictures/wallpapers/your-image.jpgThis runs matugen image which:
- Extracts a Material You color palette from the image
- Regenerates
waybar/colors.css,hypr/colors.conf,kitty/colors.conf,rofi/colors.rasi,btop/themes/noctra.theme,cava/config, andfastfetch/config.jsonc - You can then reload Waybar with
SUPER + Ror therefreshalias
To fully apply including borders, restart Hyprland or run:
hyprctl reload && pkill -USR2 waybar| Action | Shortcut |
|---|---|
| Launch Terminal | SUPER + Enter |
| Kill Window | SUPER + Q |
| App Launcher | SUPER + A |
| File Manager | SUPER + E |
| Firefox | SUPER + B |
| Toggle Floating | SUPER + V |
| Scratchpad Toggle | SUPER + S |
| Move to Scratchpad | SUPER + SHIFT + S |
| Screenshot (full) | Print |
| Reload Waybar | SUPER + R |
| Apply Wallpaper + Theme | SUPER + SHIFT + W |
| Exit / Shutdown | SUPER + M |
| Focus (Arrow Keys) | SUPER + ←↑↓→ |
| Move to Workspace | SUPER + 1–0 |
| Move Window to Workspace | SUPER + SHIFT + 1–0 |
| Volume Up / Down | XF86AudioRaiseVolume / Lower |
| Mute | XF86AudioMute |
| Brightness Up / Down | XF86MonBrightnessUp / Down |
| Media Play/Pause/Skip | XF86Audio* |
dotfiles/
├── .config/
│ ├── hypr/ # Hyprland WM config (modular)
│ ├── waybar/ # Bar config + Matugen CSS output
│ ├── swaync/ # Notification center + scripts
│ ├── kitty/ # Terminal config + colors
│ ├── matugen/ # Color templates for all apps
│ │ └── templates/ # .css/.conf/.jsonc templates
│ ├── rofi/ # App launcher styles (7 types, 15 styles)
│ ├── btop/ # System monitor + themed config
│ ├── cava/ # Audio visualizer + shaders
│ └── fastfetch/ # System fetch config + ASCII art
└── zsh/
└── .zshrc # Zsh config with lazy-loaded plugins
| Alias | Command | Description |
|---|---|---|
wall <img> |
matugen image |
Set wallpaper and regenerate all colors |
refresh |
pkill -USR2 waybar |
Reload Waybar in place |
update |
sudo pacman -Syu |
Full system upgrade |
install |
sudo pacman -S |
Install package |
v |
nvim |
Open Neovim |
ls |
eza --icons |
Better ls with icons |
ll |
eza -lah --icons |
Long listing with icons |
- Colors are auto-generated.
~/.config/hypr/colors.conf,~/.config/waybar/colors.css, and similar files are overwritten by Matugen — don't edit them manually. - Monitor config is set for
eDP-1at1920x1080@60with1.25scaling. Edithypr/monitors.confto match your display. - Wallpaper path in the
SUPER + SHIFT + Wkeybind is hardcoded. Editkeybindings.confto point to your own wallpaper. - AMD iGPU tuning: Blur is set to 3 passes at size 6, shadows at render_power 1. If you have a dedicated GPU, you can increase these for a richer look.
- Hyprland — for making Wayland actually enjoyable
- Matugen — for the Material You theming engine
- Waybar — for being endlessly configurable
- r/unixporn — for the endless inspiration
Built with obsession on Arch Linux · Noctra OS by Blaze


