Skip to content

Latest commit

 

History

History
121 lines (83 loc) · 3.68 KB

README.md

File metadata and controls

121 lines (83 loc) · 3.68 KB

dotfiles

my configs, settings, installation scripts, etc

Quick start

Clone repo

git clone https://github.com/clumsy-coder/dotfiles ~/dotfiles && cd ~/dotfiles

Run Ansible playbooks

./dotfiles macos

Will install homebrew, homebrew apps, setup MacOS docks, configure dotfiles


Usage

This repo will be using Ansible to setup dotfiles, install apps, etc

file ./dotfiles is used for running Ansible playbook

Running a playbook

run the script ./dotfiles and the name the playbook in ./playbooks/ directory

./dotfiles {playbook name}

Ex:

./dotfiles macos

Running a specific role from a playbook

Each Ansible role has a tag attached to it. Ex: Alacritty, terminal Pass a flag --tags to run a role with that specific tagname

run the script ./dotfiles, and the name the playbook in ./playbooks/ directory, and a flag, which tags to run and add, which tag to use from ./roles/

./dotfiles {playbook name} --tags "tagname"

Ex:

./dotfiles macos --tags "alacritty"

Running multiple tags from a playbook

./dotfiles {playbook name} --tags "tagname, tagname"

Ex:

./dotfiles macos --tags "alacritty, nvm"

How does it work?

All dotfiles are stored in ./tools/ directory

A tool named Ansible is used to setup dotfiles

Ansible roles are used for specific task, Ex: Installing NVM, configuring Alacritty

Ansible playbooks are used to run a collection of Ansible roles. Useful to run a collection of roles in one command

Ansible vars are used to store any variables that be used in an Ansible role. Ex: list of apps to install on homebrew


File/Folder structure

dotfiles/
├── .editorconfig
├── .github/
├── .gitignore
├── .gitmodules
├── .luacheckrc
├── .stylua.toml
├── .yamllint
├── LICENSE
├── README.md
├── ansible.cfg                     # Ansible configs
├── dotbot-readme.md                # Old docs for dotbot
├── dotfiles                        # Script to run Ansible
├── hosts                           # Ansible hosts
├── install-profile                 # used by dotbot. No longer in use
├── install-standalone              # used by dotbot. No longer in use
├── docs/                           # documentation assets. Ex: screenshots
├── meta/                           # dotbot configs and profiles. No longer in use
├── playbooks/                      # Ansible playbooks
├── requirements.yaml               # Ansible Galaxy. needed before running Ansible
├── roles/                          # Ansible roles
├── tools/                          # dotfile configs
└── vars/                           # Ansible vars

Inspiration