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

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

  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.