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 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 enviornment 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).
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.
All files are bootstrapped with dotbot.
- Run through execution order, everything should work okay?
- Flesh out documentation
- fix init script
- VS Code configuration settings
- 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 $HOME
git clone https://github.com/kylepeeler/dotfiles
- Copy over secrets folder
<obtain the files using magic>
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 asdf
brew install starship
brew install diff-so-fancy
brew install fzf
brew install tmux
brew install fig
brew install mcfly
brew install exa
brew install nvim
brew install z
brew install thefuck
brew install gnupg
brew install iconsur
brew install reattach-to-user-namespace
- Install
node
andruby
usingasdf
asdf plugin add nodejs
asdf plugin add ruby
# For latest nodejs
asdf install nodejs latest
asdf global nodejs latest
# For node 14
asdf install nodejs 14.18.0
asdf global nodejs 14.18.0
# For latest ruby
asdf install ruby latest
asdf global ruby latest
- Install
colorls
# Note you may need or may not need to use sudo depending on how/where ruby is installed
sudo gem install colorls
- 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
- Load the profile found in
~/.item-profiles
into iTerm
brew tap homebrew/cask-fonts &&
brew install --cask font-<FONT NAME>-nerd-font
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
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