Skip to content

A collection of files that make my dev-environment a bit more pleasant to use.

Notifications You must be signed in to change notification settings

lelopez-io/.dotfiles

Repository files navigation

Dotfiles

This repository provides a streamlined setup for managing dotfiles and configuring a new development environment on macOS and Linux, utilizing GNU Stow for dotfile management.

Prerequisites

MacOS

  1. Install Xcode Command Line Tools:
xcode-select --install

Note: Homebrew Cask is included with Homebrew and will be used to install macOS applications automatically. This eliminates the need for manual "drag and drop" installation of GUI applications.

Linux (Debian/Ubuntu)

  1. Install build essentials, git, and ZSH:
sudo apt-get update
sudo apt-get install -y build-essential git zsh
  1. Set ZSH as default shell (restart required):
chsh -s $(which zsh)

Note: You'll need to log out and back in for the shell change to take effect.

Quick Start

  1. Clone the repository:
git clone https://github.com/lelopez-io/.dotfiles.git ~/.dotfiles
cd ~/.dotfiles
  1. Run the setup script:
./setup/scripts/install.sh

After running the install script, you should:

  1. Restart your terminal
  2. Run tmux and press prefix + I to install tmux plugins
  3. Open neovim to install plugins automatically

This will:

  • Configure your preferences (applications, git settings)
    • Git name and email
    • Global gitignore file
    • Default branch name (main)
  • Install core tools via Homebrew
  • Setup language environments (Node.js, Python, Ruby)
  • Link dotfiles using GNU Stow

Manual Configuration

If you prefer to manage dotfiles manually without the automatic setup:

# Install Stow package
brew install stow

# Create symlinks (this won't overwrite any existing files)
stow . --adopt

# Review changes in Git and commit any you want to adopt
# Discard all "adopted" changes if you only want to use what is present in this repo

Additional Development Tools

The following tools can be installed after the initial setup, depending on your development needs:

Version Control Setup

Mobile Development

Cloud Development

Working with Directories

Linking entire directories, such as nvim, is recommended to avoid rerunning Stow when subdirectories or files are added.

# Delete the existing directory if everything already matches
rm -Rf ~/.config/nvim

# Re-run Stow to create a link to the `nvim` directory in this repo
stow . --adopt

Customization

The setup is configurable through an interactive prompt that allows you to:

  • Select which applications to install
  • Configure Git credentials
  • Choose development tools
  • Select productivity applications

To reconfigure at any time:

./setup/configure.sh

Additional Configurations

The setup also creates symlinks for:

  • .gitignore~/.gitignore (used as global git excludes file)
  • .env.aider~/.env.aider (for aider configuration access from any directory)

Resources

About

A collection of files that make my dev-environment a bit more pleasant to use.

Resources

Stars

Watchers

Forks