My personal dotfiles collection.
Each topic (eg. git, java, etc.) is in a separate subfolder.
Files within a topic are loaded according to their extension, which determines both which
shells load them (shell-agnostic, bash-only or zsh-only) and which shell
modes they apply to (all shells, login shells or interactive shells).
See the shell topic for an explanation of shell modes, and the per-shell READMEs (shell, bash, zsh) for the exact order in which the loader files source these.
*.shell files are shell-agnostic and are loaded by both bash and zsh:
| File | Applies to | Contains |
|---|---|---|
env.shell |
all shell modes | environment variables (must be cheap — no subprocesses) |
paths.shell |
all shell modes | PATH additions (via prepend_path; also re-asserted for login shells) |
init.shell |
login shells | topic initialisation, including heavier one-time / forking setup (eg. brew, asdf) |
completion.shell |
interactive shells | shell-agnostic completions |
aliases.shell |
interactive shells | aliases |
*.bash files are loaded by bash interactive shells only:
| File | Applies to | Contains |
|---|---|---|
completion.bash |
interactive shells | completions |
prompt.bash |
interactive shells | prompt customisations |
*.zsh files are loaded by zsh interactive shells only:
| File | Applies to | Contains |
|---|---|---|
completion.zsh |
interactive shells | completions |
prompt.zsh |
interactive shells | prompt customisations |
Other files:
- All
*.launchagentfiles are copied to~/Library/LaunchAgents/*.plist - All
*.symlinkfiles (and directories) will be symlinked to~/.{file}eg.
~/.foo -> ~/.dotfiles/topic-a/foo.symlink
~/.bar -> ~/.dotfiles/topic-b/bar.symlink
- Clone the repo somewhere (eg.
cd ~/ && git clone --recursive git://github.com/scottohara/dotfiles.git). Doesn't matter where, as the installer will automatically symlink the repo to~/.dotfiles. - Change to checkout directory and run the install script (
cd ~/dotfiles && ./setup.sh)
- Change to the checkout directory and run the uninstall script (
cd ~/dotfiles && ./setup.sh -u)
- Install Homebrew
- Install Git (
brew install git) - Install VSCode
- Import Catppuccin Mocha profile into Terminal.app
- Set as startup profile
- Set as default theme
- Change font to Monaspace Neon Medium 11
- Set opacity to 95% and blur to 100%
- Increase window size to at least 250x75 and enable smooth resize
- Add desired items to title bar
- Set shell to close the window if exits cleanly
- Change Bright Black text colour from rbg(0,43,54) to rgb(0,44,54)
- In Settings => Users & Groups, unlock and right-click user account and choose Advanced Options...; set the login shell as desired (/bin/bash or /bin/zsh)
- Inspiration taken from Zach Holman's dotfiles collection.
- Also, https://dotfiles.github.com.