These are my dotfiles. Use at your own risk, they are what work for me and may update at anytime.
Do not blindly install them without reading every line of code. If you are planning to use them for yourself, please fork it before cloning and installing.
These target latest macOS systems.
I have put a lot of time in configuring my system in a way that works for me, and I want to maintain it's history, and share it with the world.
Additionally, I now have multiple machines, and I want to keep a common configuration of my development environment synchronized and version controlled across them.
In order to accomplish this, ./install
file linking the configurations is idempotent, meaning it can be sourced multiple times without harm (only pulling the latest configuration).
All files are bootstrapped with dotbot.
- First things first, we need git to clone this... install command line tools
xcode-select --install
- Add SSH keys to github.
- Clone this repo into the user's home directory
cd ~
git clone [email protected]:kylepeeler/dotfiles.git
- Copy over secrets folder
<obtain the files using magic/airdrop>
cp -r secrets ~/dotfiles/secrets
- Install Brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- Install brew packages
brew install mise
brew install starship
brew install delta
brew install fzf
brew install eza
brew install tmux
brew install mcfly
brew install nvim
brew install z
brew install thefuck
brew install gnupg
brew install iconsur
brew install reattach-to-user-namespace
- Configure mise-en-place
Install nodejs + set global version
mise use --global node@22
- Install
vim-plug
⚠️ Make sure you install the Neovim version, not normal Vim!
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
Simply run
cd ~/dotfiles
# You may or may not need to init the dotbot submodule prior to updating
git submodule update --init dotbot
# Update to get the latest version of dotbot
git submodule update --remote dotbot
# Save/Commit against dotfiles w/ updated SHA
git commit -am "update dotbot"
# Make sure install script has permission
chmod +x ./install
# Run the install script, it will report what it does/any errors.
./install
- Make sure you close and reopen your terminal
- Make sure Vim-Plug was installed (TODO: automate this)
- Open up nvim, and run
:PlugInstall
- Make sure to install NERD fonts
Run the following commands
# For VSCode
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
# For VSCode Insiders
defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false
# For VSCodium
defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
# To enable global key-repeat
# this is helpful if you're using Vim in a PWA like code-server
defaults write -g ApplePressAndHoldEnabled -bool false
I have also included init/init_machine.sh
script for me to easily provision a brand new machine on a fresh copy of macOS. This is not idempotent.
While I have a more extensive scripts in the init
folder including the above, and mac_settings.sh
....
Now a days, I tend to leave things at defaults, so I just selectively go through these files and run the commands that seem relevant. I will try to comment out the ones I don't use, but they are subject to change, and I don't run this file as often as I keep the base config files up to date.
Someday:
- Fix init script/add unit tests
- VS Code configuration settings
- Add list of apps to install using brew cask
Suggestions/improvements welcome! If you have any, please submit an issue here.
- @wuz and his dotfiles & setup script
- @mathiasbynens dotfiles & mac setup script
- anyone else listed here