# Normalize line endings to LF everywhere
* text=auto eol=lf

# ----------------------------
# Binary files (never modified)
# ----------------------------
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.webp binary
*.ico binary
*.pdf binary

*.woff binary
*.woff2 binary
*.ttf binary
*.otf binary

*.zip binary
*.tar binary
*.gz binary
*.7z binary
*.rar binary

# ----------------------------
# Language-specific overrides
# ----------------------------

# Nix (important for flakes and reproducibility diffs)
*.nix text eol=lf

# Shell scripts
*.sh text eol=lf
*.bash text eol=lf
Dockerfile text eol=lf
docker-compose*.yml text eol=lf

# Web / frontend
*.js text eol=lf
*.jsx text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.vue text eol=lf
*.css text eol=lf
*.scss text eol=lf
*.html text eol=lf

# Data/config formats
*.json text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.toml text eol=lf
*.ini text eol=lf
*.editorconfig text eol=lf

# Markdown
*.md text eol=lf
*.mdx text eol=lf

# Git files
.gitattributes text eol=lf
.gitignore text eol=lf
