## [setup_dev_environment](../../scripts/setup_dev_env)

This script automates the setup of a development environment by installing essential tools, configuring common settings, and providing options for customization.

**Platform Support:** macOS (Homebrew), Linux (apt-get, yum)

## Options

- `-a` or `--disable-auto-update`: Disable Homebrew auto-updates (macOS only).
- `-n` or `--disable-notification`: Disable notifications during setup.
- `-d` or `--dependencies <file>`: Install dependencies from a list file.

## Usage

```bash
./setup_dev_environment [-a|--disable-auto-update] [-n|--disable-notification] [-d|--dependencies <file>]
```

## Features

### Package Manager Detection
- **macOS**: Uses Homebrew (installs if not present)
- **Linux**: Detects apt-get or yum

### Installed Components
- **Essential Tools**: curl, unzip, git, fd, ripgrep, fzf, tree, neovim
- **Shell**: zsh (installed and set as default shell on both macOS and Linux)
- **Programming Languages**: Go, Python (via pyenv) with Poetry
- **Fonts**: MesloLGS Nerd Font

### Shell Configuration
- Installs zsh if not present (using the appropriate package manager on Linux)
- Sets zsh as the default login shell via `chsh`

## Examples

Basic setup:
```bash
./setup_dev_environment
```

Disable auto-updates:
```bash
./setup_dev_environment -a
```

Install from dependency list:
```bash
./setup_dev_environment -d dependencies.txt
```

