Skip to content

Lofiwaffle/lofi-rice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

lofi-rice ๐ŸŒŠ

Arch Linux + Hyprland desktop environment configuration A complete, reproducible dotfiles repository for restoring my desktop setup from GitHub

Arch Linux

Hyprland

Zsh


๐Ÿ“– Overview

This repository contains my personal Arch Linux desktop environment configuration, centered around Hyprland (Wayland compositor) with a sophisticated workflow setup. The configuration is based on the Illogical Impulse Hyprland distribution with extensive custom modifications.

Key Features

  • ๐ŸชŸ Hyprland - Dynamic tiling Wayland compositor
  • ๐Ÿ“Š Waybar - Customizable status bar with audio visualizer
  • ๐Ÿฑ Kitty - GPU-accelerated terminal emulator
  • ๐Ÿ” Rofi/Fuzzel - Application launchers
  • ๐Ÿ”” Swaync/Dunst - Notification system
  • ๐ŸŽจ GTK3/4 + Qt5/6 - Unified theming
  • ๐Ÿ”’ Hyprlock - Screen locker with custom styling
  • ๐ŸŒ Multi-monitor support (5 displays configured)
  • โšก Custom keybindings for productivity apps

๐Ÿ“ธ Screenshots

TODO: Add screenshots of your desktop


๐Ÿš€ Quick Start

Prerequisites

  • Arch Linux installed
  • Internet connection
  • Git installed

Fresh Installation

Option 1: Using the Master Installer (Recommended)

# Clone this repository
git clone https://github.com/Lofiwaffle/lofi-rice.git
cd lofi-rice

# Run the interactive installer
./install.sh

# Follow the prompts and reboot when done

Option 2: Manual Step-by-Step

# Clone this repository
git clone https://github.com/Lofiwaffle/lofi-rice.git
cd lofi-rice

# Install all packages (requires ~2GB download)
./scripts/install-packages.sh

# Restore configurations
./scripts/restore-configs.sh

# Enable systemd services
./scripts/enable-services.sh

# Log out and log back in (or reboot)

Option 3: Fully Automated (No Prompts)

git clone https://github.com/Lofiwaffle/lofi-rice.git
cd lofi-rice
./install.sh --auto

Updating Existing System

# Pull latest changes
git pull

# Restore updated configs
./scripts/restore-configs.sh

๐Ÿ“ฆ What's Included

Core Components

Component Description Config Location
Hyprland Wayland compositor config/hypr/
Waybar Status bar config/waybar/
Kitty Terminal emulator config/kitty/
Rofi App launcher config/rofi/
Dunst/Swaync Notifications config/dunst/, config/swaync/
GTK/Qt Theme configs config/gtk-{3,4}.0/, config/qt{5,6}ct/

Package Categories

  • ~180 official repository packages
  • ~65 AUR packages
  • See packages/categories/ for detailed breakdown by type

๐ŸŽฎ Keybindings

Most Important

Keybind Action
Super + Return Terminal (Kitty)
Super + Q Close window
Super + O Obsidian
Super + W Web browser
Super + E File manager
Super + Space App launcher (Rofi)
Super + L Lock screen
Super + Shift + S Screenshot (region)
Super + V Clipboard history
Super + Period Emoji picker

๐Ÿ“– Full keybindings reference: See docs/KEYBINDS.md


๐Ÿ“ Repository Structure

lofi-rice/
โ”œโ”€โ”€ README.md                    # This file
โ”œโ”€โ”€ install.sh                   # ๐Ÿ†• Master installation script
โ”œโ”€โ”€ scripts/                     # Installation and maintenance scripts
โ”‚   โ”œโ”€โ”€ backup-current-configs.sh
โ”‚   โ”œโ”€โ”€ install-packages.sh
โ”‚   โ”œโ”€โ”€ restore-configs.sh
โ”‚   โ”œโ”€โ”€ enable-services.sh
โ”‚   โ”œโ”€โ”€ setup-auto-backup.sh
โ”‚   โ””โ”€โ”€ init-git.sh
โ”œโ”€โ”€ packages/                    # Package lists
โ”‚   โ”œโ”€โ”€ explicit-packages.txt    # All explicitly installed packages
โ”‚   โ”œโ”€โ”€ aur-packages.txt         # AUR-only packages
โ”‚   โ””โ”€โ”€ categories/              # Categorized package lists
โ”œโ”€โ”€ config/                      # Application configurations
โ”‚   โ”œโ”€โ”€ hypr/                    # Hyprland configs
โ”‚   โ”œโ”€โ”€ waybar/                  # Status bar
โ”‚   โ”œโ”€โ”€ kitty/                   # Terminal
โ”‚   โ”œโ”€โ”€ gtk-3.0/, gtk-4.0/       # GTK theming
โ”‚   โ””โ”€โ”€ ...                      # Other app configs
โ”œโ”€โ”€ shell/                       # Shell configurations
โ”‚   โ”œโ”€โ”€ .zshrc
โ”‚   โ””โ”€โ”€ .p10k.zsh
โ”œโ”€โ”€ local/                       # User-local files
โ”‚   โ”œโ”€โ”€ bin/                     # Custom scripts/binaries
โ”‚   โ””โ”€โ”€ share/applications/      # Custom .desktop entries
โ”œโ”€โ”€ systemd/                     # Systemd configuration
โ”‚   โ””โ”€โ”€ user/
โ””โ”€โ”€ docs/                        # Documentation
    โ”œโ”€โ”€ KEYBINDS.md
    โ”œโ”€โ”€ INSTALL.md
    โ””โ”€โ”€ TROUBLESHOOTING.md

๐Ÿ”ง Customization

Modifying Keybindings

Edit Hyprland keybindings:

nano ~/.config/hypr/custom/keybinds.conf

Then reload Hyprland:

hyprctl reload

Adjusting Monitor Setup

Your monitor configuration is in:

nano ~/.config/hypr/monitors.conf

Detect connected monitors:

hyprctl monitors

Changing Theme Colors

The color scheme is defined in:

~/.config/hypr/hyprland/colors.conf

๐Ÿ› ๏ธ Maintenance

Backup Current Configs

cd ~/lofi-rice
./scripts/backup-current-configs.sh
git add .
git commit -m "Update: $(date +%Y-%m-%d)"
git push

Setup Automated Backups

./scripts/setup-auto-backup.sh

This creates a systemd timer that backs up configs daily.

Update Package Lists

pacman -Qe | awk '{print $1}' > packages/explicit-packages.txt
pacman -Qm | awk '{print $1}' > packages/aur-packages.txt

๐Ÿ“š Documentation


๐Ÿ–ฅ๏ธ System Specifications

Tested On

  • OS: Arch Linux (kernel 6.17.7-arch1-1)
  • Compositor: Hyprland (based on Illogical Impulse)
  • Shell: Zsh with Zinit + Powerlevel10k
  • Terminal: Kitty
  • Display: 5-monitor setup (including portrait displays)
  • Bootloader: Limine with BTRFS snapshot support

Hardware

  • GPU: Intel Arrow Lake-P integrated graphics (i915 driver)
  • Storage: BTRFS with LUKS encryption
  • Displays: 5 monitors (2 portrait, 3 landscape including eDP-1 laptop screen)

๐Ÿ› Troubleshooting

Hyprland won't start

# Check Hyprland logs
cat ~/.hyprland.log

# Try starting manually
Hyprland

Monitor configuration issues

# List connected monitors
hyprctl monitors

# Adjust monitors.conf accordingly
nano ~/.config/hypr/monitors.conf

Audio not working

# Restart audio services
systemctl --user restart pipewire.socket
systemctl --user restart wireplumber.service

# Check audio status
wpctl status

More solutions: See docs/TROUBLESHOOTING.md


๐Ÿค Contributing

This is a personal dotfiles repository, but feel free to:

  • Fork it for your own use
  • Open issues for questions
  • Submit PRs for improvements

๐Ÿ“„ License

MIT License - Feel free to use and modify for your own setup


๐Ÿ™ Acknowledgments

  • Hyprland - The amazing Wayland compositor
  • Illogical Impulse - Base Hyprland configuration
  • Arch Linux community - For the incredible documentation
  • r/unixporn - For inspiration

๐Ÿ“ž Contact


Made with โค๏ธ and โ˜• on Arch Linux

About

Arch Linux + Hyprland configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors