Dotfiles
My Hyprland Dotfiles
Install / Use
/learn @R7rainz/DotfilesREADME
✨ RAINZ'S Arch Hyprland Rice
A meticulously crafted Arch Linux desktop experience
Elevate your Linux workflow with this carefully curated collection of dotfiles
<p align="center"> <img src="https://github.com/user-attachments/assets/b4ab952f-be97-499d-a486-d246c987d4e2" width="90%" /> </p> <p align="center"> <p align="center"> <img width="70%" alt="image" src="https://github.com/user-attachments/assets/44f49526-cc86-411f-8e3a-c94d3d0d528b" /> </p> <p align="center"> <em>Neovim setup with bufferline, telescope, and modern UI tweaks</em> </p> </div> <!-- <div align="center"> --> <!----> <!-- ### Desktop Showcase --> <!----> <!-- <table> --> <!-- <tr> --> <!-- <td width="50%"> --> <!-- <img src="https://github.com/user-attachments/assets/7a85eb93-d3df-493f-a341-e0f13547f6a6" alt="Desktop Overview" style="border-radius: 8px;"/> --> <!-- <p><em>Clean Desktop with Waybar and Rofi</em></p> --> <!-- </td> --> <!-- <td width="50%"> --> <!-- <img src="https://github.com/user-attachments/assets/68f81533-c7a9-4d90-951c-9a4c0ce9931c" alt="Terminal Setup" style="border-radius: 8px;"/> --> <!-- <p><em>Terminal & Development Environment</em></p> --> <!-- </td> --> <!-- </tr> --> <!-- <tr> --> <!-- <td width="50%"> --> <!-- <img src="https://github.com/user-attachments/assets/d5e6620b-7521-467b-a809-d53609db8cf0" alt="Application Launcher" style="border-radius: 8px;"/> --> <!-- <p><em>Spotify with Cava</em></p> --> <!-- </td> --> <!-- <td width="50%"> --> <!-- <img src="https://github.com/user-attachments/assets/9b87382c-5a32-4fbe-99ce-53f1a1bd9e9d" alt="Browser Setup" style="border-radius: 8px;"/> --> <!-- <p><em>SDDM Theme</em></p> --> <!-- </td> --> <!-- </tr> --> <!-- </table> --> <!----> <!-- </div> --><!---->
⚡ Tech Stack
<div align="center">| Component | Choice | Why |
| :------------------: | :-------------------------: | :----------------------------: |
| 🐧 OS | Arch Linux | Rolling release perfection |
| 🪟 WM | Hyprland | Smooth Wayland animations |
| 🌙 Desktop Shell | Noctalia Shell | Sleek, minimal Wayland shell |
| 🌐 Browser | Zen Browser | Privacy-focused & customizable |
| 🖥️ Terminal | Kitty + Wezterm | GPU-accelerated performance |
| 🐚 Shell | Fish + Starship | Beautiful & user-friendly |
| ✏️ Editor | Neovim | Extensible text editing |
| 🚀 Launcher | Rofi + Vicinae | Fast application switching |
| 📊 Bar | Noctalia Bar | Built into Noctalia Shell |
| 🔔 Notifications | Noctalia Notifications| Integrated notification system|
| 🖼️ Wallpaper | Hyprpaper + Waypaper | Dynamic wallpaper management |
| 📁 File Manager | Yazi | Terminal-based file manager |
| 📄 PDF Viewer | Zathura | Vim-like document viewer |
| 🖥️ Multiplexer | Tmux | Terminal session management |
🚀 Quick Start
Prerequisites
# Ensure you have these essentials
- Arch Linux (fresh install recommended)
- git, yay, sudo privileges
- Proper GPU drivers installed
One-Command Setup
git clone https://github.com/R7rainz/dotfiles.git ~/dotfiles && cd ~/dotfiles
Neovim Setup ( recommended to setup in a different repo for better updates and management )
Want to try my Neovim configuration?
You can find it here: https://github.com/R7rainz/neovim-conf
If you like it, consider leaving a ⭐ — it really helps!
Clone it directly into your Neovim config directory:
git clone https://github.com/R7rainz/neovim-conf ~/.config/nvim
📦 Installation Steps
<details> <summary><b>🏗️ Step 1: Hyprland Installation</b></summary>System Update & Dependencies
sudo pacman -Syu
sudo pacman -S base-devel cmake meson ninja gcc pkgconf libxcb xcb-proto xcb-util xcb-util-keysyms libxfixes libx11 libxcomposite xorg-xinput libxrender pixman wayland-protocols cairo pango seatd libxkbcommon xcb-util-wm xorg-xwayland libinput libliftoff libdisplay-info cpio tomlplusplus hyprlang hyprcursor hyprwayland-scanner
GPU Drivers
NVIDIA:
sudo pacman -S nvidia nvidia-utils nvidia-settings
# Add to /etc/mkinitcpio.conf: MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
sudo mkinitcpio -P
# Add to GRUB: nvidia_drm.modeset=1
sudo grub-mkconfig -o /boot/grub/grub.cfg
AMD:
sudo pacman -S mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon
Intel:
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel
Install Hyprland
sudo pacman -S hyprland
# Or for latest features:
yay -S hyprland-git
yay -S xdg-desktop-portal-hyprland-git
Configure XDG Desktop Portal
# Install required portal packages
sudo pacman -S xdg-desktop-portal-wlr xdg-desktop-portal-gtk
# Create portal configuration
mkdir -p ~/.config/xdg-desktop-portal
cat > ~/.config/xdg-desktop-portal/portals.conf << EOF
[preferred]
default=hyprland;gtk
org.freedesktop.impl.portal.Screenshot=hyprland
org.freedesktop.impl.portal.ScreenCast=hyprland
org.freedesktop.impl.portal.FileChooser=gtk
EOF
</details>
<details>
<summary><b>🌙 Step 1.5: Noctalia Shell Installation</b></summary>
What is Noctalia Shell?
Noctalia Shell is a sleek and minimal desktop shell thoughtfully crafted for Wayland. Built on Quickshell, it provides:
- Beautiful status bar with integrated modules
- Notification center
- Application launcher
- Control center with quick settings
- Lock screen
- Plugin support for extensibility
Installation (Arch Linux)
Using AUR (Recommended):
# Install stable version
paru -S noctalia-shell
# Or install development version for latest features
paru -S noctalia-shell-git
Dependencies
Noctalia Shell will automatically install its dependencies, but here's what it uses:
Required:
quickshell- Core shell frameworkbrightnessctl- Screen brightness controlimagemagick- Image processing for wallpaperspython- Required for template processinggit- Update checking and plugin system
Optional (Recommended):
paru -S cliphist cava wlsunset power-profiles-daemon ddcutil
cliphist- Clipboard history supportcava- Audio visualizer componentwlsunset- Night light functionalitypower-profiles-daemon- Power profile managementddcutil- External display brightness control
Running Noctalia Shell
Add this line to your Hyprland config (~/.config/hypr/hyprland.conf):
exec-once = qs -c noctalia-shell
Hyprland Settings for Noctalia
Add these settings for optimal integration with Noctalia Shell:
# Enable blur for Noctalia panels
layerrule {
name = noctalia
match:namespace = noctalia-background-.*$
ignore_alpha = 0.5
blur = true
blur_popups = true
}
Noctalia IPC Commands
Noctalia uses IPC for various functions. Example keybind for lock screen:
# Lock screen
bind = SUPER, L, exec, qs -c noctalia-shell ipc call lockScreen lock
Configuration
Noctalia configuration is stored in:
- Config:
~/.config/noctalia/ - Cache:
~/.cache/noctalia/
Resources
</details> <details> <summary><b>📦 Step 2: Core Packages</b></summary># System essentials
sudo pacman -S git stow brightnessctl pacman-contrib pipewire pipewire-pulse wireplumber bluez-utils pulseaudio pavucontrol blueman wayland wayland-protocols wlroots
# Applications
sudo pacman -S kitty wezterm fish neovim rofi hyprpaper thunar gvfs gvfs-mtp npm yazi zathura zathura-pdf-mupdf tmux
yay -S waypaper zen-browser-bin pnpm-bin avizo vicinae
# Noctalia Shell (replaces waybar, swaync, mako)
yay -S noctalia-shell
# Fonts & Tools
sudo pacman -S ttf-jetbrains-mono-nerd ttf-liberation ttf-dejavu starship
yay -S ttf-inconsolata-lgc-nerd ttf-hurmit-nerd bat fastfetch kotofetch
</details>
<details>
<summary><b>🌐 Step 3: Zen Browser Setup</b></summary>
Nebula Theme Installation
git clone https://github.com/JustAdumbPrsn/Zen-Nebula.git ~/zen-nebula
Apply Custom CSS
- Open Zen Browser →
about:config - Set
toolkit.legacyUserProfileCustomizations.stylesheetstotrue - Go to
about:support→ Open Profile Folder - Create
chromefolder - Copy CSS files:
cp ~/zen-nebula/userChrome.css ~/.zen/[your-profile]/chrome/
cp ~/zen-nebula/userContent.css ~/.zen/[your-profile]/chrome/
Extensions & Settings
- Install uBlock Origin
- Enable Compact Sidebar Mode
- Configure privacy settings
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
