ββββ βββ βββββββ βββββββββββββββββββββββ ββββββ βββββββ ββββββββ
βββββ βββββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββ
ββββββ ββββββ ββββββ βββ ββββββββββββββββ βββ βββββββββββ
βββββββββββββ ββββββ βββ ββββββββββββββββ βββ βββββββββββ
βββ βββββββββββββββββββββββ βββ βββ ββββββ βββ βββββββββββββββββ
βββ βββββ βββββββ βββββββ βββ βββ ββββββ βββ βββββββ ββββββββ
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


