Skip to content
mcnamaramPublic

About

.files for setting up new dev box

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

Repository files navigation

mcnamaram's dotfiles

Originally forked from Mathias's dotfiles and revamped with ideas from webpro/dotfiles

Package overview

Architecture

This is the standard (home) setup — TypeScript, Docker, KinD, Python, core tools.

Work-specific config lives in a separate private overlay repo (dotfiles-work) that layers on top via symlinked .work files. See how it works below.

Installation

Warning: Don't blindly use these settings. Always review the code.

On a sparkling fresh installation of macOS:

sudo softwareupdate -i -a
xcode-select --install

Then install with curl:

bash -c "`curl -fsSL https://raw.githubusercontent.com/mcnamaram/dotfiles/main/remote-install.sh`"

Or clone manually:

git clone https://github.com/mcnamaram/dotfiles.git ~/.dotfiles

The Makefile auto-detects macOS vs Linux. On Linux/WSL it runs apt-get instead of Homebrew and uses Brewfile.linux (no macOS casks). Use it to install everything and symlink configs (via stow):

cd ~/.dotfiles
make

Secrets

Secrets are stored in macOS Keychain, never in plaintext files. Use the secrets-manage tool:

secrets-manage set openai api-key        # prompts for value
secrets-manage get openai api-key        # retrieves it
secrets-manage list                      # shows all dotfiles-managed secrets

Shell startup reads secrets from Keychain automatically via system/.secrets.

Work overlay

Work-specific config lives in a separate private repo. When present, it layers on top:

  1. .work files in system/ are sourced after standard files (can override functions)
  2. Git config uses [includeIf] to apply work email/hooks only in work repos
  3. Work packages install via a separate Brewfile in the overlay

To set up work on top of standard:

git clone <private-overlay-repo> ~/.dotfiles-work
cd ~/.dotfiles-work
make work

Post-install

macOS only: Open a new shell and run:

The dotfiles command

$ dotfiles help
Usage: dotfiles <command>

Commands:
   clean            Clean up caches (brew, nvm)
   dock             Apply macOS Dock settings
   edit             Open dotfiles in IDE
   help             This help message
   macos            Apply macOS system defaults
   test             Run tests
   update           Update packages and pkg managers (OS, brew, npm)

Additional resources

Credits

Many thanks to the dotfiles community and particularly Mathias and webpro.

About

.files for setting up new dev box

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages