3.5 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Repository Overview
This is an Arch Linux Hyprland desktop setup automation repository based on omarchy.org. It provides a comprehensive collection of shell scripts to set up a fresh Arch Linux installation with the Hyprland window manager and various desktop applications.
Project Structure
Main Scripts
base_install.sh
- The main entry point script (currently empty, but serves as the base installer)scripts/
- Contains all installation and configuration scripts organized by category:config/
- System configuration scripts (keyboard, network, timezones, etc.)desktop/
- Desktop environment installation scripts (Hyprland, themes, applications)aur.sh
,development.sh
,firewall.sh
, etc. - Specialized installation scripts
Theme System
themes/
- Contains multiple theme configurations, each including:- Color schemes for various applications (alacritty, waybar, mako, etc.)
- Hyprland configuration files (
hyprland.conf
,hyprlock.conf
) - Background images and icon themes
- Application-specific styling (CSS, config files)
Available themes: catppuccin, catppuccin-latte, everforest, gruvbox, kanagawa, matte-black, nord, osaka-jade, ristretto, rose-pine, tokyo-night
Development Commands
This repository consists entirely of shell scripts for system configuration. There are no build, test, or lint commands as this is a collection of installation scripts.
Running Scripts
# Make scripts executable
chmod +x script_name.sh
# Run installation scripts
./base_install.sh
./scripts/desktop/hyprlandia.sh
./scripts/desktop/theme.sh
Architecture and Key Components
Package Management
All scripts use yay
(AUR helper) for package installation with standard flags:
--noconfirm
- Non-interactive installation--needed
- Only install if not already present
Theme Management System
The theme system uses symlinks to manage active themes:
- Themes are linked from
~/.local/share/omarchy/themes/
to~/.config/omarchy/themes/
- Active theme is symlinked to
~/.config/omarchy/current/theme
- Individual application configs are symlinked from the current theme
Configuration Approach
- Configurations are copied from
~/.local/share/omarchy/config/
to~/.config/
- GPG configurations are set up system-wide in
/etc/gnupg/
- Git aliases and user information are configured globally
- PAM faillock settings are modified for security
Key Installation Categories
- System Config - Keyboard layout detection, network setup, timezone configuration
- Desktop Environment - Hyprland compositor and related tools
- Applications - File managers, media players, web browsers
- Development Tools - Available via
development.sh
- Theming - Comprehensive theme support across all applications
GPU-Aware Installation
Scripts detect GPU type and install appropriate software:
- NVIDIA GPUs:
wf-recorder
for screen recording - Other GPUs:
wl-screenrec
for screen recording
Working with Themes
Each theme directory contains configuration files for:
- Terminal emulator (alacritty)
- Status bar (waybar)
- Notifications (mako)
- Application launcher (walker)
- Screen locker (hyprlock)
- System monitor (btop)
- Text editor (neovim)
- Volume/brightness OSD (swayosd)
Theme switching is handled through the symlink system managed by scripts/desktop/theme.sh
.