This configuration is designed for Arch Linux with Hyprland and introduces Lucyna, a theme created by me and focused on minimalism, functionality, and elegance. It is built for long sessions in front of the screen, prioritizing visual comfort, low visual fatigue, and clarity while keeping the setup lightweight and practical.
Lucyna is powered by Abysal Theme — my personal color palette designed from scratch for this setup. The goal of the palette is to keep a calm, consistent, and readable visual language across desktop applications and development tools.
It defines two variants:
- Obsidian — dark mode
- Marble — light mode
- GTK / QT (icons and extras coming soon): Abysal Theme
- VS Code: Abysal Theme VS Code
⚠️ Important Note:
These dotfiles are primarily designed for Arch Linux with Hyprland. While some adaptations can be made for other distributions or window managers, such customizations are beyond the scope of the installation script. You may need to manually adjust configurations for other setups.
- Abysal Theme: Custom palette — Obsidian (Dark) & Marble (Light)
- QuickShell Bar: Modern, customizable, and performant status bar
- Optimized Performance: Minimal resource usage with maximum functionality
- Easy Theme Switching: Change themes on the fly with a simple keybind
- Highly Configurable: Extensive customization options
- Automated Installation: One script setup for the entire environment
Lucyna is the first theme built on top of Abysal, a personal color palette created from scratch. Preview images will be published here once the theme is ready.
|
More Preview Images (click to expand)
|
Obsidian (Dark) |
Marble (Light) |
|
Obsidian (Dark) |
Marble (Light) |
|
Obsidian (Dark) |
Marble (Light) |
|
Obsidian (Dark) |
Marble (Light) |
|
Obsidian (Dark) |
Marble (Light) |
|
Obsidian (Dark) |
Marble (Light) |
|
Obsidian (Dark) |
Marble (Light) |
| Category | Tool |
|---|---|
| Compositor | Hyprland |
| Bar | QuickShell |
| Terminal | Ghostty |
| Shell | Zsh + Oh My Zsh |
| Editor | Neovim / VSCode |
| Notifications | Dunst |
| Launcher | QuickShell Launcher |
| Wallpaper | SWWW |
| File Manager | Yazi |
| Browser | Firefox |
| Category | Tools |
|---|---|
| Lock/Idle | Hyprlock, Hypridle |
| Screenshots | Hyprshot, Grim, Slurp |
| Color Picker | Hyprpicker |
| Audio | PipeWire, WirePlumber, Pavucontrol |
| Bluetooth | Bluez, Bluetui |
| Network | NetworkManager, nmtui |
| System Monitor | btop, htop |
| Fetch Tools | Fastfetch, Kotofetch |
| Display Manager | Ly |
fzf, ripgrep, fd, bat, eza, lsd, tree, brightnessctl,
wl-clipboard, cliphist, unzip, 7zip
| Component | Options |
|---|---|
| Theme Palette | Abysal Theme: Obsidian (Dark), Marble (Light) |
| Icon Theme | Papirus |
| Cursor Themes | Phinger |
| Fonts | JetBrains Mono Nerd Font, Font Awesome |
Full Installation Includes:
- Discord
- Spotify + Spicetify
- LibreOffice
- OBS Studio
- GIMP, VLC
- Steam (optional)
- Docker (optional)
💡 Recommended: Install on a fresh Arch Linux installation for the best experience and to avoid conflicts with existing configurations.
You only need Git installed on your Arch Linux system. The installation script will handle everything else automatically.
sudo pacman -S gitThe automated installation script provides two modes:
- Clone the repository
git clone https://github.com/Andr3xDev/HyprPharch.git
cd HyprPharch/scripts- Run the installation script
./scripts/install.sh-
Choose your installation mode
- Full Installation: Complete setup with personal apps (Discord, Spotify, etc.)
- Basic Installation: Minimal setup with essential tools only
-
Follow the prompts
- The script will ask for confirmation before installing optional components
- Configure drivers (Intel/NVIDIA) if needed
- Set up development tools (Docker, npm, etc.) if desired
-
Reboot and enjoy!
rebootAfter rebooting, select Hyprland from the Ly display manager.
For advanced users who want more control:
- Clone the repository
git clone https://github.com/Andr3xDev/HyprPharch.git
cd HyprPharch- Install base packages
sudo pacman -S --needed base base-devel linux linux-firmware linux-headers linux-zen linux-zen-headers efibootmgr dkms git wget nano vim neovim tree smartmontools networkmanager network-manager-applet iwd pipewire pipewire-alsa pipewire-jack pipewire-pulse wireplumber bluez bluez-utils bluetui brightnessctl grim slurp sof-firmware python-gobject qt5-wayland qt6-wayland zram-generator noto-fonts-emoji noto-fonts-cjk dosfstools bridge-utils dnsmasq sudo npm hyprland hypridle hyprlock hyprpicker hyprshot dunst swww xdg-desktop-portal-hyprland xdg-desktop-portal-gnome polkit-gnome polkit-kde-agent xdg-utils uwsm quickshell kitty zsh starship fzf lsd btop htop fastfetch yazi ghostty gtk3 gtk4 nwg-look sassc ttf-jetbrains-mono-nerd ttf-nerd-fonts-symbols woff2-font-awesome firefox pavucontrol mpv power-profiles-daemon ly xorg-server xorg-xinit intel-media-driver intel-ucode vulkan-intel lib32-vulkan-intel libva-intel-driver vulkan-tools nvidia-open-dkms lib32-nvidia-utils libva-nvidia-driver steam lib32-mesa docker docker-buildx docker-compose discord spotify-launcher libreoffice-fresh obs-studio proton-vpn-gtk-app- Install AUR helper and packages
# Install Paru
cd /tmp
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
# Install AUR packages
paru -S --needed kotofetch phinger-cursors visual-studio-code-bin spicetify-cli gearlever opencode-bin- Copy configurations
# Backup existing configs (optional)
cp -r ~/.config ~/.config.backup-$(date +%Y%m%d-%H%M%S)
# Copy dotfiles
cp -r config/* ~/.config/- Enable services
sudo systemctl enable NetworkManager bluetooth- Reboot
sudo rebootNote: All keybindings can be customized in config/hypr/configs/keyblinds.conf
| Keybind | Action |
|---|---|
SUPER + Enter |
Open terminal (floating) |
SUPER + SHIFT + Enter |
Open terminal (fullscreen) |
SUPER + Q |
Close window |
SUPER + SHIFT + F |
Toggle fullscreen |
SUPER + V |
Toggle floating |
SUPER + Space |
QuickShell launcher |
SUPER + Backspace |
Power menu |
| Keybind | Action |
|---|---|
SUPER + E |
Terminal file manager (Yazi) |
SUPER + I |
System monitor (btop) |
SUPER + SHIFT + I |
System fetch |
SUPER + B |
Bluetooth manager |
SUPER + N |
Network manager |
SUPER + P |
Color picker |
SUPER + T |
Screenshot (region to clipboard) |
SUPER + SHIFT + T |
Screenshot (region to file) |
SUPER + CTRL + T |
Screenshot GUI (Flameshot) |
| Keybind | Action |
|---|---|
SUPER + H/J/K/L |
Move focus (vim-style) |
SUPER + SHIFT + H/J/K/L |
Move window |
SUPER + CTRL + H/J/K/L |
Resize window |
SUPER + 1-9 |
Switch to workspace |
SUPER + SHIFT + 1-9 |
Move window to workspace |
SUPER + S |
Toggle scratchpad |
SUPER + Tab |
Previous workspace |
| Keybind | Action |
|---|---|
SUPER + Y |
Theme launcher |
SUPER + R |
Reload QuickShell |
SUPER + SHIFT + R |
Reload Hyprland |
| Keybind | Action |
|---|---|
XF86AudioRaiseVolume |
Increase volume |
XF86AudioLowerVolume |
Decrease volume |
XF86AudioMute |
Toggle mute |
XF86MonBrightnessUp |
Increase brightness |
XF86MonBrightnessDown |
Decrease brightness |
How do I add or edit themes?
Theming requires changes in multiple locations:
Config files to edit:
- QuickShell:
config/quickshell/lucyna/theme/ - QuickShell modules/widgets:
config/quickshell/lucyna/ - Hyprland theme files:
config/hypr/theme/ - Btop, Fastfetch, Starship, Ghostty, Yazi: Respective config folders
Scripts to modify:
config/hypr/scripts/theme.sh- Individual theme scripts in each config directory
🚧 Working on reducing coupling for easier theme management.
Can I use these dotfiles on other distributions?
These dotfiles are designed for Arch Linux with Hyprland. You can adapt them, but:
- Installation script only works on Arch (uses
pacmanandparu) - Configurations are Hyprland-specific
- Requires Wayland compatibility
For other distros: Manually copy configs and install equivalent packages.
How do I configure brightness controls?
- Find your backlight device:
ls /sys/class/backlight/ - Edit
config/hypr/configs/keyblinds.conf - Replace
intel_backlightwith your device name
How extensible are these dotfiles?
These dotfiles are moderately coupled but allow extensibility:
Easy to add:
- New applications, keybindings, window rules
Requires multiple edits:
- New themes, bar components, theme switching
🚧 Working on reducing coupling for easier customization.
QuickShell bar is not visible
If the QuickShell bar does not appear, check the following:
- Where QuickShell starts: The startup and configuration files are in
config/quickshell/lucyna/. - Check Hypr autostart: Ensure
exec-once = quickshell --config lucynais present inconfig/hypr/configs/apps.conf. - Restart QuickShell: Use
SUPER + Ror runkillall quickshell && quickshell --config lucyna &.
Are these your personal dotfiles?
Yes! These are my daily dotfiles, shared publicly to help others.
Keep in mind:
- Reflects my personal workflow and preferences
- Some settings need hardware-specific adjustments
- Actively being developed and improved
- May not cover every use case
Feedback and contributions are welcome!
These are previous versions of these dotfiles. I keep iterating based on personal taste, so older themes are kept as archive references and are effectively deprecated over time.
View Older Themes
⚠️ No longer maintained - Available on thelucybranch
Lucy 1.0 includes the older theme set (Gruvbox Material and Rose Pine in dark/light variants). It is preserved below for comparison with the new theme generation.
git clone -b lucy https://github.com/Andr3xDev/HyprPharch.gitView Lucy Screenshots
Dark |
Light |
Dark |
Light |
⚠️ No longer maintained - Available on thelegacybranch
The legacy version uses Waybar. While no longer actively maintained, it remains available for those who prefer Waybar.
git clone -b legacy https://github.com/Andr3xDev/HyprPharch.gitContributions are welcome and appreciated! Whether it's bug fixes, new features, or improvements to documentation, all help is valuable.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
If you encounter any problems:
- Check existing issues first
- Create a new issue with:
- Clear description of the problem
- Steps to reproduce
- System information (Arch version, hardware, etc.)
- Relevant logs or error messages
- Follow existing code style and conventions
- Comment complex sections of code
- Keep commits focused and atomic
- Write clear commit messages
Distributed under License. See LICENSE for more information.
This means you can use or modify keeping it open source.


































