2025-08-07 18:51:03 -04:00

85 lines
3.5 KiB
Markdown

# 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](https://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
```bash
# 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
1. **System Config** - Keyboard layout detection, network setup, timezone configuration
2. **Desktop Environment** - Hyprland compositor and related tools
3. **Applications** - File managers, media players, web browsers
4. **Development Tools** - Available via `development.sh`
5. **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`.