Configuración integral y portable para entorno de desarrollo agentico (Claude Code, Ollama, etc.). Soporta: Fedora / Ubuntu / macOS / Windows 11 (WSL2 nativo), con detección automática de hardware (Ryzen 5, Ryzen 9, Apple M2/M4) y optimizaciones específicas para SSD, RAM, CPU y red.
- 🔍 Detección automática de SO (distro, versión, gestor de paquetes, shell)
- 🧠 Detección de hardware (CPU, RAM, SSD/NVMe, GPU, swap)
- ⚡ Optimizaciones por perfil:
laptop,desktop,workstation - 🖥️ Tuning por plataforma: Fedora, Ubuntu, macOS, Windows (PowerShell)
- 🤖 Tooling agentico pre-instalado: Claude Code, Ollama, Open WebUI opcional
- 🔁 Idempotente: se puede correr múltiples veces sin romper nada
- 🧱 Modular: cada paso puede saltarse con
--skipo--only - 🛡️ Seguro: dry-run disponible, backups automáticos de configs previas
dotfiles/
├── setup.sh # entry point Unix (Linux/macOS/WSL)
├── setup.ps1 # entry point Windows (PowerShell nativo)
├── lib/
│ ├── detect.sh # detección de SO, hardware, shell
│ ├── detect.ps1 # equivalente Windows
│ ├── logger.sh # logging con colores
│ ├── logger.ps1 # logging Windows
│ ├── package-managers.sh # apt | dnf | brew | pacman
│ ├── sysctl-tune.sh # optimizaciones kernel
│ ├── ssd-tune.sh # optimizaciones SSD/NVMe
│ ├── ram-tune.sh # zram/swap tuning
│ └── agent-tools.sh # instalación Claude Code, Ollama, etc.
├── config/
│ ├── zsh/ # .zshrc + plugins
│ ├── tmux/ # .tmux.conf + plugins
│ ├── kitty/ # kitty.conf
│ ├── starship/ # starship.toml
│ ├── powershell/ # Microsoft.PowerShell_profile.ps1
│ └── git/ # .gitconfig + .gitignore_global
├── bin/ # scripts auxiliares
│ ├── new-agent-project
│ ├── safe-claude
│ ├── agent-log
│ └── sync-dotfiles
├── docs/
│ ├── ARCHITECTURE.md
│ ├── HARDWARE.md
│ ├── PER-SETUP.md
│ └── FAQ.md
└── assets/ # capturas, diagramas
git clone https://github.com/lgzarturo/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
chmod +x setup.sh
./setup.sh # modo interactivo
./setup.sh --yes # aceptar todo
./setup.sh --dry-run # solo mostrar lo que haría
./setup.sh --skip ssd # saltar paso SSD
./setup.sh --only shell # solo instalar shell stackRequiere PowerShell 7+ (pwsh) en Windows 11.
git clone https://github.com/lgzarturo/dotfiles.git $HOME\dotfiles
cd $HOME\dotfiles
.\setup.ps1 # interactivo
.\setup.ps1 -Yes # aceptar todo
.\setup.ps1 -DryRun # preview (no modifica el sistema)
.\setup.ps1 -Skip shell # saltar paso shell
.\setup.ps1 -Only preflight,backup # solo estos pasos| Perfil | Uso | Optimizaciones |
|---|---|---|
laptop |
Portátil | Battery aware, energía, thermal throttling |
desktop |
PC de escritorio | Performance agresiva, sin thermal concerns |
workstation |
Estación de trabajo IA | Todo al máximo, llama.cpp con ROCm/Metal, ZRAM máximo |
minimal |
Sin optimizaciones agresivas | Solo tooling y shell |
| Variable | Descripción | Default |
|---|---|---|
DOTFILES_PROFILE |
laptop, desktop, workstation, minimal | auto-detect |
DOTFILES_SKIP |
Coma-separado de pasos a saltar | (vacío) |
DOTFILES_ONLY |
Solo correr estos pasos | (vacío) |
ANTHROPIC_API_KEY |
API key de Claude | (vacío) |
DOTFILES_DRY_RUN |
Solo simular | false |
preflight— Verifica requisitosbackup— Backup de configs existentessystem-update— Actualiza SOcore-packages— Paquetes baseshell— Zsh/Bash + Starship + pluginsterminal— Kitty (o Warp/iTerm2 en macOS, Windows Terminal)multiplexer— tmux + pluginsdev-tools— rg, fd, bat, eza, fzf, lazygit, etc.runtimes— mise/uv/node/pythonagent-tools— Claude Code, Ollama (opcional)agent-aliases— Aliases de herramientas agenticas con flags de permisividadgnome/macos/windows— Tweaks del SOsysctl— Tuning de kernelssd— Optimización de almacenamientoram— ZRAM/swapnetwork— TCP BBR, fq, etc.dotfiles-link— Symlinks de configspost-install— Verificación final
El paso agent-aliases detecta qué herramientas están instaladas y configura
automáticamente aliases con sus flags de permisividad:
| Herramienta | Alias configurado |
|---|---|
claude |
claude --allow-dangerously-skip-permissions |
agy |
agy --dangerously-skip-permissions |
opencode |
opencode --auto |
codex |
codex --dangerously-bypass-approvals-and-sandbox |
- Linux / macOS / WSL: aliases escritos en
~/.zshrc.local(cargado por.zshrc) - Windows: funciones wrapper escritas en
profile.local.ps1junto a$PROFILE - Idempotente: re-ejecutar el paso no duplica entradas (usa bloques centinela)
- Solo herramientas presentes: si una herramienta no está en PATH, su alias no se configura
# Linux / macOS / WSL
./setup.sh --only agent-aliases
./setup.sh --only agent-aliases --dry-run # preview sin modificar nada# Windows
.\setup.ps1 -Only agent-aliases
.\setup.ps1 -Only agent-aliases -DryRun # preview sin modificar nada./scripts/verify.shVerifica que cada componente quedó instalado y configurado correctamente.
Arturo López lgzarturo@gmail.com