What's up? Puffins, that's what.
A CLI tool for keeping dotfiles and brew dependencies in sync. The goal is to have one consistent dev environment across any computer.
Usage: puffin [command]
Options:
-V, --version output the version number
-h, --help output usage information
Commands:
install Run brew install commands
install-apps Run brew install apps commands
reload rsync the dotfiles
Requires:
WARNING: Puffin will override your current dotfiles. Make a backup if you want to preserve existing files
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install Node
brew install node
# Install Puffin
npm install -g puffin
puffin install
puffin install-apps
puffin reload
. ~/.zshrc # I cant find a good way to reload zsh via node
Uses homebrew to install dependencies.
- fasd
- git
- htop
- massren
- node
- reattach-to-user-namespace
- tig
- tmux
- ansiweather
- fzf
- ripgrep
- sops
- todo-txt
- vim
- visidata
- yarn
Uses brew cask
to install apps.
- 1password
- alfred
- bettertouchtool
- dropbox
- firefox
- google-chrome
- iterm2
- slack
- spotify
- the-unarchiver
- transmit
- visual-studio-code
Rsyncs dotfiles from puffin to your $HOME
folder.
.aliases
.functions
.tigrc
.tmux.conf
.vimrc
.zshrc
.vim/
PUFFIN_WEATHER_LOCATION
Sets ansiweather location. Defaults to 'Melbourne, AU'.
Each file will try to source .xxx.local
at the very end. This lets you add any computer specific configs to each file.
For example you may choose to place some environment variables in .zshrc.local
.