Minimal personal zsh setup for macOS. No Homebrew, no oh-my-zsh — just:
- A handful of aliases and helper functions
- Starship for the prompt
- FiraCode Nerd Font + a matching Terminal.app profile
- zsh-autosuggestions for history-based command suggestions
git clone https://github.com/RenegadeFox/dotfiles.git ~/.dotfiles && zsh ~/.dotfiles/install.shWhen the script finishes, a new Terminal window will open using the
FiraCode profile with the Starship prompt. That window is the signal
that the install is done — you can close the original.
Skip parts of the install that don't apply to your machine:
zsh ~/.dotfiles/install.sh --no-terminal # skip Terminal.app profile setup
zsh ~/.dotfiles/install.sh --no-fonts # skip font installation
zsh ~/.dotfiles/install.sh --no-starship # skip Starship installation
zsh ~/.dotfiles/install.sh --no-autosuggest # skip zsh-autosuggestions installationFlags can be combined:
zsh ~/.dotfiles/install.sh --no-terminal --no-fontsRun zsh ~/.dotfiles/install.sh --help for the full list.
- Backs up any existing
~/.zshrcand~/.config/starship.tomlto~/.dotfiles_backup/<timestamp>/. - Renders
zsh/zshrcwith the actual repo path baked in and symlinks it to~/.zshrc. - Symlinks
starship/starship.toml→~/.config/starship.toml. - Clones zsh-autosuggestions into
plugins/. - Copies
fonts/*.ttfinto~/Library/Fonts/(nosudoneeded). - Installs Starship to
~/.local/bin(no Homebrew required). - Imports the
FiraCode.terminalprofile and sets it as the default for Terminal.app.
Steps 4–7 can each be skipped with the --no-* flags above. The installer
is idempotent — safe to re-run. Existing configs are backed up, and plugins
that are already installed are skipped.
.
├── README.md
├── install.sh
├── .gitignore
├── fonts/ # FiraCode Nerd Font TTFs
├── plugins/ # cloned at install time, git-ignored
│ └── zsh-autosuggestions/
├── starship/
│ └── starship.toml # → ~/.config/starship.toml
├── terminal/
│ └── FiraCode.terminal # exported Terminal.app profile
└── zsh/
├── zshrc # template → rendered to zshrc.generated → ~/.zshrc
└── aliases.zsh # sourced from zshrc
Run aliases in the terminal to see this list at any time.
| Command | Description |
|---|---|
bundleid |
Get the bundle ID of an app from the passed in path |
c |
Clear the terminal |
ll |
List directory contents (long format) |
cll |
Clear terminal then list directory contents |
cdl |
Change directory and list contents |
df-update |
Pull latest dotfiles and reload shell |
df-reinstall |
Re-run the dotfiles installer |
df-regen |
Re-generates the zshrc.generated file based on the zsh template file and reloads the shell |
aliases |
Show all available commands |
Edit or add aliases in zsh/aliases.zsh. Changes take effect on the next
shell or after running df-update.
From any directory:
df-updateThis pulls the latest changes from the repo and reloads the shell.
If the update includes changes to fonts, the Terminal profile, or
install.sh itself, run df-reinstall instead (flags are supported):
df-reinstall
df-reinstall --no-terminalrm ~/.zshrc
rm ~/Library/Fonts/FiraCode*.ttf
rm ~/.config/starship.toml
rm -rf ~/.dotfiles
# To remove Starship: rm "$(which starship)"
# In Terminal > Settings, switch the default profile back to "Basic"
# and delete the FiraCode profile.