# Eazygit
A fast TUI for Git with reliable staging, conflicts navigation, interactive rebase controls, and a palette-first workflow.
## Install
* From source: `cargo install --path .` (or `cargo build --release` and use `target/release/eazygit`).
* Config lives at `~/.config/eazygit/config.toml` (auto-created on first run). Theme changes persist after you pick them in the palette.
## Run
```bash
eazygit
```
## Features (brief)
* Palette-driven commands for staging, conflicts jump/filter, merge notifier, interactive rebase (continue/abort/skip/edit with inline todo editing).
* Hunk/line staging with apply/unstage patches.
* Merge/pull safeguards (ff-only guard, timeouts), PR helper, auto-fetch toggle, delta side-by-side when available.
* Custom background images with glassmorphism effect and optional font customization.
## Visual Customization
### Background Images
Add a background image with customizable transparency to your terminal UI:
```toml
# In ~/.config/eazygit/config.toml (Linux/WSL)
# Or ~/Library/Application Support/eazygit/config.toml (macOS)
background_image_path = "bundled:1" # Use bundled gradient (1, 2, or 3)
# OR
background_image_path = "/path/to/your/image.jpg" # Use custom image
background_opacity = 0.3 # 0.1 = subtle, 0.5 = strong
```
**Bundled Backgrounds:**
- `bundled:1` - Blue/Purple gradient
- `bundled:2` - Dark nebula
- `bundled:3` - Geometric shapes
**Note:** Due to terminal cell limitations, images are rendered at terminal resolution (~200x50 cells). This creates an intentional "pixel art" aesthetic. For smooth high-resolution backgrounds, use your terminal emulator's native background feature instead.
### Custom Fonts (Optional)
```toml
font_family = "JetBrainsMono Nerd Font"
font_size = 14
```
Note: Font support varies by terminal (iTerm2, xterm with OSC 50 support).
## Notes
* Requires git and a modern terminal. Fonts are controlled by your terminal; optional `font_family`/`font_size` are stored in config for external use.
* Themes include dark, light, nord, dracula, gruvbox, everforest, onedark; you can add custom themes via TOML under `~/.config/eazygit/themes/`.