Skip to content

My minimal yet powerful (and fast) zsh configuration for development: useful plugins, aliases, dev tools and prompt.

License

Notifications You must be signed in to change notification settings

jcyamacho/dotfiles

 
 

Repository files navigation

dotfiles

Minimal yet powerful zsh configuration with modular architecture - install only the tools you need.

Header

Quick Start

curl -sL https://raw.githubusercontent.com/jcyamacho/dotfiles/main/install.sh | sh

After installation, install tools on-demand:

install-node     # Node.js via fnm
install-rust     # Rust toolchain
install-code     # VS Code + utilities
install-codex    # Codex CLI (OpenAI)
update-all       # Update all installed tools

Available Tools

Tool Install Update Features
Development Tools
VS Code install-code c() alias
Cursor install-cursor cr() alias
Zed install-zed zd() alias
Languages
Go install-go gmt(), gmi() + linter
Rust install-rust update-rust Via rustup
Zig install-zig Latest stable
Ruby install-rbenv update-ruby Via rbenv, auto latest, uninstall-unused-ruby-versions
JavaScript/TypeScript
Node.js install-node update-node Via fnm, auto LTS, uninstall-unused-node-versions
Bun install-bun update-bun Fast runtime
Deno install-deno update-deno Secure runtime
Python
Python install-python update-python uv + ruff + basedpyright, act()
AI & CLI
Claude Code install-claude update-claude + agents & commands
Gemini CLI install-gemini update-gemini Google's AI CLI
Fabric AI install-fabric-ai Patterns, yt()
Codex CLI install-codex update-codex OpenAI coding CLI, cdx()
Ollama update-ollama-models Model updates
Development Environment
mise install-mise update-mise Dev tools, env vars, task runner, uninstall-mise
direnv install-direnv update-direnv Per directory env vars, uninstall-direnv
Utilities
zoxide install-zoxide update-zoxide Smarter cd command, uninstall-zoxide
bat install-bat Enhanced cat
GitHub CLI install-gh + completions
jq install-jq JSON processor
Fonts install-fonts Dev fonts

What's Included

Core (Automatic)

  • Oh-My-Zsh with essential plugins (git, syntax highlighting, autosuggestions)
  • Starship prompt (plain text preset)
  • Essential utilities
  • Platform package managers

Optional (On-Demand)

Each tool in scripts/ provides:

  • install-<tool> and uninstall-<tool> functions
  • Consistent environment setup
  • Update integration where supported
  • Clean removal

Usage Examples

# Install languages
install-rust && install-go && install-python

# Install editors
install-code && install-cursor

# Use convenience features
c ~/project          # Open in VS Code
gmt                  # Go mod tidy
act                  # Activate Python venv
yt <youtube-url>     # Process transcript
cdx "add docs section"   # Codex CLI helper

# Management
update-all           # Update everything
uninstall-cursor     # Clean removal

Customization

Configuration Commands

  • zcustomconfig - Edit personal configurations (~/.zcustom)
  • zshconfig - Edit main zsh configuration
  • starshipconfig - Edit prompt configuration

Custom Configuration

Create personal configs that won't be overridden:

zcustomconfig  # Opens ~/.zcustom in your editor

# Add your personal settings:
export MY_VAR="value"
alias my-cmd="command"

Core Functions

  • exists <cmd> - Check if command available
  • mkcd <dir> - Create and cd to directory
  • update-dotfiles - Refresh from repository
  • update-all - Update all installed tools
  • update-brew - Update Homebrew packages (macOS)

Why Modular?

  • Selective: Install only what you need
  • Independent: Each tool isolated, no conflicts
  • Maintainable: Easy updates and removal
  • Transparent: Clear understanding of what's installed

Perfect for developers who want control without complexity.

About

My minimal yet powerful (and fast) zsh configuration for development: useful plugins, aliases, dev tools and prompt.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%