Skip to content

angelgonzalezev/dotfiles

Repository files navigation

dotfiles

My personal workspace for terminal setup, workflow, and documentation, built to make development faster, cleaner, and easier to maintain.

Created by Angel Gonzalez. Licensed under MIT. See LICENSE.

What This Project Is

This is an open source dotfiles repository. It stores the configuration for the tools I use to work in the terminal: Neovim, WezTerm, tmux, and Zsh.

The goal is to make a development machine reproducible. Instead of configuring every app manually on every computer, the configuration lives in Git, can be installed with scripts, and is documented in one place.

What It Helps With

Problem Solution
Setting up a new Mac takes too long. Bootstrap can install tools and link config files.
Terminal shortcuts are easy to forget. The docs explain the commands used daily.
Config files drift between machines. Shared config is versioned and symlinked with Stow.
Local machine config can leak into Git. Local-only shell config lives in ~/.zshrc.local.
Terminal work gets disorganized. tmux layouts and WezTerm tabs create repeatable workspaces.

Managed Packages

Package Installs config for Main benefit
nvim Neovim Keyboard-first editor with project search and plugins.
wezterm WezTerm Terminal UI, tabs, theme, font, and navigation.
tmux tmux Persistent sessions, panes, and workspace layout commands.
zsh Zsh / Oh My Zsh Prompt, history, suggestions, and local command path.

Install

Install the default configuration packages from any terminal:

curl -fsSL https://raw.githubusercontent.com/angelgonzalezev/dotfiles/main/bin/bootstrap | bash

Run the interactive installer from a local clone:

git clone https://github.com/angelgonzalezev/dotfiles.git ~/.config/dotfiles
~/.config/dotfiles/bin/bootstrap

The interactive installer can ask before installing CLI tools, WezTerm, Oh My Zsh, zsh-autosuggestions, and the selected dotfiles packages.

Run every install step without prompts:

DOTFILES_ASSUME_YES=1 ~/.config/dotfiles/bin/bootstrap

To install only one package:

curl -fsSL https://raw.githubusercontent.com/angelgonzalezev/dotfiles/main/bin/bootstrap | bash -s -- nvim
curl -fsSL https://raw.githubusercontent.com/angelgonzalezev/dotfiles/main/bin/bootstrap | bash -s -- wezterm
curl -fsSL https://raw.githubusercontent.com/angelgonzalezev/dotfiles/main/bin/bootstrap | bash -s -- tmux
curl -fsSL https://raw.githubusercontent.com/angelgonzalezev/dotfiles/main/bin/bootstrap | bash -s -- zsh

Existing config files are backed up automatically to:

~/.config/dotfiles-backups/

Documentation

Start here:

Apps:

Guides:

Layout

Packages are arranged for GNU Stow. Each package mirrors the target path from $HOME.

nvim/
  .config/
    nvim/
wezterm/
  .config/
    wezterm/
tmux/
  .tmux.conf
  .local/
    bin/
      tmux-agent
      tmux-dev
zsh/
  .zshrc
bin/
  bootstrap
  dotfiles-doctor
  dotfiles-install
  dotfiles-status
  dotfiles-sync

Manual Install

brew install stow
git clone https://github.com/angelgonzalezev/dotfiles.git ~/.config/dotfiles
cd ~/.config/dotfiles
bin/dotfiles-install

This links:

~/.config/nvim    -> ~/.config/dotfiles/nvim/.config/nvim
~/.config/wezterm -> ~/.config/dotfiles/wezterm/.config/wezterm
~/.tmux.conf      -> ~/.config/dotfiles/tmux/.tmux.conf
~/.local/bin/*    -> ~/.config/dotfiles/tmux/.local/bin/*
~/.zshrc          -> ~/.config/dotfiles/zsh/.zshrc

Contributing

This is an open source project. You can fork it, adapt it, and propose changes with pull requests.

Before publishing changes:

bin/dotfiles-doctor
npm run docs:build
git status --short

Do not commit credentials, tokens, local state, caches, logs, generated dependency folders, or machine-specific private files.

About

My personal workspace for terminal setup, workflow, and documentation, built to make development faster, cleaner, and easier to maintain ⚡️🛠️📚

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors