I am currently running macOS.
Here’s a few examples of my workspace.
- Visible in the screenshot:
- nord colorscheme.
- SauceCodePro Nerd Font (Regular) font.
- neovim, running inside tmux, inside iTerm2, on macOS 10.15 Catalina
This whole repository isn’t really intended for anyone’s use but my own, and of course it’s catered to my way of doing things, so, be prepared for that.
Since I’m using evil-mode, I configured vim and emacs to have the same keybindings when possible.
- fzf: fuzzy finder to search for files, strings, or history
color: change terminal and Vim color schemetmux: terminal multiplexer to organize sessionszsh-autosuggestions: suggest previously entered commandszsh-history-substring-search: search previous command by substringzsh-syntax-highlighting: highlighting on zsh
and many more..
- coc.nvim: code completion engine + language server. easy plugin installation
- fzf.vim: fuzzy finder in vim
- nerdtree: tree representation for projects and folders
- vim-fugitive: git client on vim
and many more..
For cheatsheet, go to vim/README.md.
- evil-mode: vim emulation on emacs
- org-mode: must have outliner + planner + life management tool
- magit: git client on emacs
- lsp-mode: lsp support for emacs
- dired-sidebar: dired on sidebar
and many more..
Clone repo to ~/.dotfiles
git clone --recursive https://github.com/abrampers/dotfiles
⚠️ WARNING: This install method will install every bit of my configuration. In the future, I’ll be supporting customized install method.
This repo uses Ansible to automate installation. Please follow Ansible installation guide to install Ansible.
Install ansible-core for a minimal footprint.
python3 -m pip install --user ansible-core
Install the community.general collection.
ansible-galaxy collection install community.general
Provisioning now lives under ansible/ and the main entry point is ansible/local_machine.yml. The rcrc configuration excludes the ansible/ tree, so provisioning files are not deployed as dotfiles by rcup.
ANSIBLE_CONFIG=ansible/ansible.cfg ansible-playbook ansible/local_machine.yml
This step will get all dependencies only. Dotfiles apply will be handled separately
Use the dedicated playbook to run chezmoi apply.
ANSIBLE_CONFIG=ansible/ansible.cfg ansible-playbook ansible/chezmoi_apply.yml
If you specifically want the main provisioning playbook to run the same real-apply path, you must opt in with both the dedicated tag and the explicit enablement variables:
ANSIBLE_CONFIG=ansible/ansible.cfg ansible-playbook ansible/local_machine.yml --tags dotfiles,chezmoi_apply -e dotfiles_chezmoi_apply_enabled=true
That advanced route exists for parity with the dedicated playbook, but the dedicated ansible/chezmoi_apply.yml path is the normal documented cutover command.
Review the full bootstrap before applying it.
ANSIBLE_CONFIG=ansible/ansible.cfg ansible-playbook ansible/local_machine.yml --check --diff
For the `chezmoi` migration path, this is also where you review the saved baseline and the chezmoi apply --dry-run --verbose output. The real apply step remains opt-in and outside the default local-machine workflow for now.
Run just one role slice by tag when you only want to inspect or apply a subset.
ANSIBLE_CONFIG=ansible/ansible.cfg ansible-playbook ansible/local_machine.yml --tags dotfiles
To find the available role tags, inspect ansible/local_machine.yml.

