This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a dotfiles repository for Arch Linux with Hyprland (Wayland compositor). All configurations are located in the dotfiles/ subdirectory and should be symlinked or copied to ~/.config/.
Run ./install.sh from the repository root. This script:
- Installs required packages via pacman and AUR (via yay)
- Sets up ZSH, tmux, fnm, and other tools
- Copies configuration files to
~/.config/
Most configurations use a modular approach where the main config file sources additional files:
- Hyprland (
~/.config/hypr/hyprland.conf): Sources files from~/.config/hypr/conf/for monitors, keyboard, binds, animations, window rules, etc. - ZSH (
~/.zshrc): Sources all files from~/.config/zshrc/directory (numbered prefixes control load order) - tmux (
~/.config/tmux/tmux.conf): Single file with plugins managed by TPM
Files in ~/.config/zshrc/ are loaded in alphabetical order:
00-init- Environment variables, exportsenv- Local environment (proxy settings, etc.) - not committed, useenv.exampleas template20-customization- oh-my-zsh plugins and completion25-aliases- Shell aliases30-autostart- Tool initialization (starship, zoxide, atuin, fnm)
dotfiles/.config/hypr/- Hyprland compositor configurationdotfiles/.config/hyprdots/scripts/- Helper scripts (screenshots, screen recording, menus)dotfiles/.config/tmux/plugins/- tmux plugins (managed by TPM)dotfiles/.config/waybar/- Status bar configurationdotfiles/.config/zshrc/- Modular ZSH configurationinstall/- Installation scripts for Arch Linux
Sensitive or machine-specific environment variables should go in ~/.config/zshrc/env:
cp ~/.config/zshrc/env.example ~/.config/zshrc/envPlugins are installed in ~/.config/tmux/plugins/ and managed by TPM. To install/update plugins:
~/.config/tmux/plugins/tpm/bin/install_pluginsKey prefix is Ctrl+A (not the default Ctrl+B).
- Editor:
zeditor(Zed) - Prompt: Starship
- Directory navigation: zoxide (
cdalias) - History: Atuin
- Node version manager: fnm
- File listing: eza (aliases:
ls,ll,lt) - File viewing: bat (alias:
cat)
Comments in configuration files are written in Russian.