My dotfiles for Arch Linux

Add CLAUDE.md

Signed-off-by: Jan Ehrhardt <59441+jehrhardt@users.noreply.github.com>

+85
+85
CLAUDE.md
··· 1 + # CLAUDE.md 2 + 3 + This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. 4 + 5 + ## Repository Overview 6 + 7 + This is a personal dotfiles repository managed by [chezmoi](https://www.chezmoi.io), based on Omarchy Linux. The repository contains configuration files for various tools and applications in a structured format. 8 + 9 + ## Architecture 10 + 11 + ### Chezmoi Structure 12 + - Files prefixed with `dot_` represent dotfiles (e.g., `dot_config` → `~/.config`) 13 + - `.chezmoi.toml.tmpl` is a template file that prompts for git email and SSH key configuration 14 + - `.chezmoiignore` excludes LICENSE and README.md from being applied 15 + 16 + ### Configuration Organization 17 + - `dot_config/` - Contains application configuration files 18 + - `alacritty/` - Terminal emulator configuration (TOML format) 19 + - `hypr/` - Hyprland window manager configuration (split into multiple .conf files) 20 + - `lazygit/` - Git TUI configuration 21 + - `private_fish/` - Fish shell configuration 22 + - `starship.toml` - Cross-shell prompt configuration with custom symbols 23 + 24 + ## Common Commands 25 + 26 + ### Chezmoi Operations 27 + ```bash 28 + # Initialize and apply dotfiles 29 + chezmoi init --ssh --apply jehrhardt 30 + 31 + # Apply changes after editing 32 + chezmoi apply 33 + 34 + # Edit a file managed by chezmoi 35 + chezmoi edit ~/.config/alacritty/alacritty.toml 36 + 37 + # Check what would change 38 + chezmoi diff 39 + 40 + # Add a new file to be managed 41 + chezmoi add ~/.config/newapp/config.toml 42 + ``` 43 + 44 + ### Setup Requirements 45 + Install required packages (Arch Linux/yay): 46 + ```bash 47 + yay -S atuin chezmoi fish libfido2 starship ttf-firacode-nerd 48 + ``` 49 + 50 + ### SSH Key Setup 51 + Generate SSH key with Yubikey protection: 52 + ```bash 53 + ssh-keygen -t ed25519-sk -C 59441+jehrhardt@users.noreply.github.com 54 + ``` 55 + 56 + GitHub authentication and signing key setup: 57 + ```bash 58 + gh auth login 59 + gh auth refresh -h github.com -s admin:ssh_signing_key 60 + gh ssh-key add ~/.ssh/id_ed25519_sk.pub --type signing --title <key_name> 61 + ``` 62 + 63 + ### Shell Configuration 64 + Set Fish as default shell: 65 + ```bash 66 + echo $(which fish) | sudo tee -a /etc/shells 67 + chsh -s $(which fish) 68 + ``` 69 + 70 + ## Development Workflow 71 + 72 + When modifying configurations: 73 + 1. Edit files directly in the chezmoi source directory 74 + 2. Test changes with `chezmoi diff` 75 + 3. Apply changes with `chezmoi apply` 76 + 4. Commit changes to track configuration evolution 77 + 78 + ## Configuration Dependencies 79 + 80 + - **Omarchy Linux** - Base system requirement 81 + - **Hyprland** - Window manager (configs in `dot_config/hypr/`) 82 + - **Alacritty** - Terminal emulator with custom theme 83 + - **Fish Shell** - Default shell with private configuration 84 + - **Starship** - Cross-shell prompt with extensive language/tool symbols 85 + - **Yubikey** - Hardware security key for SSH authentication