Skip to content

abrampers/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

634 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

~/.dotfiles

I am currently running macOS.

Here’s a few examples of my workspace.

assets/terminal.png

  • Visible in the screenshot:

assets/emacs.png

  • Visible in the screenshot:

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.

Features

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 scheme
  • tmux: terminal multiplexer to organize sessions
  • zsh-autosuggestions: suggest previously entered commands
  • zsh-history-substring-search: search previous command by substring
  • zsh-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.

and many more..

Installation

Clone

Clone repo to ~/.dotfiles

git clone --recursive https://github.com/abrampers/dotfiles

Install

⚠️ 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.

Prerequisites

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.

Provisioning your local machine

ANSIBLE_CONFIG=ansible/ansible.cfg ansible-playbook ansible/local_machine.yml

This step will get all dependencies only. Dotfiles apply will be handled separately

Apply dotfiles

Use the dedicated playbook to run chezmoi apply.

ANSIBLE_CONFIG=ansible/ansible.cfg ansible-playbook ansible/chezmoi_apply.yml

Advanced real apply from `ansible/local_machine.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.

Dry run

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.

Targeted role execution

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.

References

  1. Greg Hurell’s dotfiles setup
  2. System Crafters Emacs from scratch series + the configuration files

About

🚀 My (vim + tmux + zsh + emacs) setup!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors