This is a personal dotfile management tool based on Ansible that currently supports installation and configuration of the following tools:
git
github-cli
golang
jq
yq
(jq for yaml)kubectl
zsh
withoh-my-zsh
vim
with some pluginstmux
awscli
watchexec
terraform
gcloud
(gcp command line tool)glow
command line markdown viewer
Make sure that brew
(on macos) and git
are pre-installed. Then run this:
cd ~
git clone [email protected]:tastybug/dotfiles-ansible .dotfiles
Run .dotfiles/bin/dot-bootstrap.sh vim,git,...
next, listing one or more tools for installation.
On corp issued machines you usually have a assigned e-mail address and user name, not matching the name on github. The git
role creates a git configuration that makes assumptions about the name, email address so you need to overwrite those.
To install the git
role with custom settings, run this:
ansible-playbook -i ~/.dotfiles/hosts ~/.dotfiles/dotfiles.yml --extra-vars "full_name='John Doe' github_user=jdoe [email protected]" --tags git
You likely have differing paths, environment variables and so on that take precedence over those provided by this repository. Check ./roles/zsh/files/zshrc:
# *_external files not provided by this project
# use those to have stable local deviations e.g. for a corp machine
if [[ -a $HOME/.dotfiles/roles/zsh/aliases_external.zsh ]]; then
source $HOME/.dotfiles/roles/zsh/aliases_external.zsh
fi
if [[ -a $HOME/.dotfiles/roles/zsh/completion_external.zsh ]]; then
source $HOME/.dotfiles/roles/zsh/completion_external.zsh
fi
if [[ -a $HOME/.dotfiles/roles/zsh/path_external.zsh ]]; then
source $HOME/.dotfiles/roles/zsh/path_external.zsh
fi
if [[ -a $HOME/.dotfiles/roles/zsh/env_external.zsh ]]; then
source $HOME/.dotfiles/roles/zsh/env_external.zsh
fi
Inspired by kespinola/dotfiles and Manage your dotfiles with Ansible