Skip to content

tmartin8080/dotfiles

Repository files navigation

Dotfiles

Personal dotfiles configuration for macOS development environment.

Quick Setup

Complete setup with one command:

just setup

Or run individual steps:

just init          # Install Homebrew, system packages, oh-my-zsh
just git           # Configure git settings
just mise          # Install development tools via mise
just copy-files    # Copy dotfiles to home directory

Available Commands

Run just or just --list to see all available commands:

  • just setup - Complete setup (runs all steps)
  • just init - Initialize system dependencies
  • just git - Configure git settings
  • just mise - Install mise tools
  • just copy-files - Copy dotfiles (with automatic backup and cleanup)
  • just copy-files --force - Copy dotfiles (no confirmation)
  • just copy-files --dry-run - Preview what would be copied
  • just copy-files --no-backup - Copy without automatic backup
  • just copy-files --force --no-backup - Force copy without backup
  • just update - Update everything (Homebrew, mise, git repo)
  • just brew-update - Update Homebrew and packages
  • just mise-update - Update mise and tools
  • just versions - Show current tool versions
  • just validate - Validate environment setup
  • just info - Show system information
  • just backup - Backup current dotfiles
  • just clean - Clean up Homebrew caches

Tool Versions

See mise.toml for current tool versions. Key tools:

  • Python 3.13.9
  • Go 1.25.4
  • Erlang 28.1.1
  • Elixir 1.19.2-otp-28
  • Node 25.1.0
  • Neovim 0.11.5
  • Helm 3.19.0
  • Terraform 1.13.5
  • kubectl 1.34.1
  • PostgreSQL 18.0

Mac Apps

Recommended apps (install manually):

iTerm2 Configuration

  1. Load profile from iterm2/devato.json
  2. Preferences -> Appearance -> General -> Theme -> Minimal
  3. Preferences -> Appearance -> Dimming -> Disable Dim Background Windows
  4. BG Color: 2B2D36

Neovim Language Servers

From within nvim:

:LspInstall bash
:LspInstall elixir
:LspInstall efm

Load Testing with WRK

brew install wrk
wrk -t4 -c100 -d30S --timeout 2000 "http://127.0.0.1:4000"

Syntax Highlighting

Using nvim-treesitter for syntax highlighting.

Migration from Make

This project now uses just instead of Make for task automation. The old Makefile and numbered bash scripts (0.init.sh, 1.git.sh, etc.) have been migrated to the justfile and moved to the scripts/ directory.

Benefits:

  • Better help text and documentation
  • More powerful recipe dependencies
  • Cleaner syntax and error handling
  • Additional utility commands (update, validate, backup, etc.)

Notes

  • Configuration uses mise for version management (migrated from asdf)
  • Brewfile defines system packages
  • Scripts are idempotent where possible
  • Automatic backup: just copy-files automatically backs up existing files before overwriting, then cleans up the backup after successful copy
  • Manual backup: Use just backup to create a timestamped backup without copying (backups are stored in backups/ directory)
  • Skip auto-backup: Use --no-backup flag to skip automatic backup/cleanup

wxwidgets Brew Issue

Legacy workaround for Erlang compatibility (preserved for older systems):

brew install wxwidgets
brew unlink wxwidgets
brew tap laggardkernel/tap
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/7d7daebdadd1b7badf56bd87bce75f38e51c5795/Formula/wxwidgets.rb
brew install ./wxwidgets.rb
brew switch wxwidgets 3.1.5
brew pin wxwidgets

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors