Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Personal dotfiles for a minimal, reproducible macOS development environment.

Contents

  • Brewfile — Homebrew package and cask list
  • install.sh — Installer script that creates symlinks and provisions Homebrew
  • gitconfig — Git config
  • zprofile — Login shell profile (Homebrew shellenv)
  • zshrc — Interactive shell config (rbenv, direnv, starship)
  • config/starship.toml — Starship prompt configuration

Overview

This repo provides a small set of dotfiles and an installer to:

  • Symlink configuration files into your $HOME
  • Install Homebrew (if missing)
  • Run brew bundle using the provided Brewfile

Installation

Run the installer from the repo root:

bash ./install.sh

The installer script install.sh sets up a runtime variable DOTFILES_DIR and uses the helper function link() to create symlinks and back up existing files.

What gets linked by default:

The script will install Homebrew if it is not present, then run:

  • brew update
  • brew bundle --file "$DOTFILES_DIR/Brewfile" (uses Brewfile)
  • brew upgrade --cask
  • brew cleanup

Behavior & Safety

  • Existing destination files are moved to a timestamped backup: file -> file.bak.<epoch>
  • Symlinks are created with ln -s so the source repo remains authoritative.
  • See the implementation of link() for exact behavior.

Customization

Revert / Uninstall

To revert changes made by the installer:

  1. Remove the symlinks created in your home directory (e.g., ~/.zshrc, ~/.gitconfig, etc.).
  2. Restore backups *.bak.* which the installer created.
  3. Optionally uninstall Homebrew packages via brew uninstall / brew bundle --file Brewfile --no-upgrade as needed.

Notes

Files & Symbols

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages