This morning was spent cleaning up my dotfiles. I’ve often had issues with the
~/.config directory when using plugin managers with both vim-plug for NeoVim and fisher for fish shell. These plugins self update, and using them on multiple systems often requires checking in changes from upgrading to the latest versions when they do.
Adding the files to
.gitignore might be a solution, but that would still require me to do the installation on every system I want to use them on. The solution I came up with was to move the
fish directories outside of the
config directory and create a
Makefile (or in the case of
Makefiles) to manage the linking.
Using this system, I should be able to remove
config from my dotfiles repository and have the
Makefiles create the required links. The ultimate goal is each “service” will have their own
Makefile, with a dotfiles
Makefile that will execute each by name. Then a simple playbook for my Ansible Workspace workflow to execute them based on host variables.