Install with:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Install the JetBrains Mono nerd font:
brew install font-jetbrains-mono-nerd-fontTip
Optionally, install the Hack nerd font:
brew install font-hack-nerd-font-
Get it from the official site, or install via Homebrew with:
brew install --cask ghostty
-
After cloning the bare
cfgrepo (details below), add the following line to the default Ghostty config file:config-file = /path/to/.ghostty
- Install the following with Homebrew:
brew install bat direnv eza fnm fzf git git-delta go jq starship tree zsh $(brew --prefix)/opt/fzf/install # Use the homebrew zsh installation (ensure $HOMEBREW_PREFIX is set first!) sudo sh -c "echo $HOMEBREW_PREFIX/bin/zsh >> /etc/shells" chsh -s $HOMEBREW_PREFIX/bin/zsh
Tip
Optionally, install the following additional tools with Homebrew:
brew install pyenv pyenv-virtualenv-
Install with:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" -
Install the following plugins:
alias-tipsF-Sy-H(Fast Syntax Highlighting)forgitzsh-autosuggestions
git clone --depth=1 https://github.com/djui/alias-tips.git $ZSH_CUSTOM/plugins/alias-tips &&\ git clone --depth=1 https://github.com/z-shell/F-Sy-H.git $ZSH_CUSTOM/plugins/F-Sy-H &&\ git clone --depth=1 https://github.com/wfxr/forgit.git $ZSH_CUSTOM/plugins/forgit &&\ git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
Note
Optionally, install the powerlevel10k and/or spaceship theme(s) (currently configured, but unused by default) with:
Powerlevel10k:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10kSpaceship:
git clone --depth=1 https://github.com/denysdovhan/spaceship-prompt.git $ZSH_CUSTOM/themes/spaceship-prompt
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"- Download Firefox Developer Edition here.
- Log in with Firefox account
- This should sync bookmarks, extensions, etc.
- Open
about:support- Find the "Profile Folder" section
- Navigate to the profile location using iTerm
- Close Firefox
- Copy/Paste the
user.jsfile from this repo into the profile directory - Create a new directory in the profile directory, called
chrome/ - Copy/Paste the
userChrome.cssfile from this repo into thechrome/directory - Open Firefox
Download it here. Sync extensions and preferences natively.
Install the gotest binary (to colorize go test output) by running the following outside of any Go modules:
go install github.com/rakyll/gotest@latestAfter completing the below steps to configure the cfg repo, restart iTerm or run:
source ~/.zshrcPrior to installation, make sure to include the cfg alias in the local .bash_profile or .zshrc:
alias cfg="$HOMEBREW_PREFIX/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME"Then, in the command line, run:
source ~/.zshrc
# or
source ~/.bash_profile-
Ensure that the source repo
.gitignore's the folder where.cfgwill be cloned:echo ".cfg" >> .gitignore
-
Clone this repo into a "bare" repo in a hidden folder in the
$HOMEdirectory:git clone --bare [email protected]:PSalant726/dotfiles.git $HOME/.cfg
Tip
To clone via HTTPS:
git clone --bare https://github.com/PSalant726/dotfiles.git $HOME/.cfg-
Define the
aliasin the current shell scope (only required if not included in the local.zshrcor.bash_profile):alias cfg="$HOMEBREW_PREFIX/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME"
-
Checkout the content from the bare repository in the
$HOMEdirectory:cfg checkout
Warning
The above command might fail with a message like:
error: The following untracked working tree files would be overwritten by checkout:
.zshrc # or .bash_profile
.gitconfig
Please move or remove them before you can switch branches.
AbortingThis is because the $HOME directory might already contain some stock configuration files that would be overwritten by this opteration. To resolve:
- Back up the files (if necessary), or remove them
- Re-run the
checkout:
cfg checkout
-
Set the flag
showUntrackedFilestonofor the local repository:This hides files that are not explicitly tracked. This is so that when running
cfg statusand other commands, files that are not of concern will not show up asuntracked.cfg config --local status.showUntrackedFiles no
cfgs # cfg status
...
cfga .zshrc # cfg add
cfgcm -m "Add an awesome new alias" # cfg commit
...
cfga .p10k.zsh
cfgcm -m "Make an awesome new bash prompt"
cfgps # cfg push