Weekly Journal 47 - chezmoi, neovim
Playing with some new tools over the Thanksgiving holiday break.
I am finally taking some time to sit down and start a proper dotfile management system. Chezmoi is the tool I have chosen to manage my dotfiles and to keep them in sync across the different computers I use on a regular basis.
There are three main reasons why I chose Chezmoi over other dotfile management tools. First, it has first-class support for both Windows and Linux. I bounce between both operating systems regularly, so having one tool that works well with both is a big win. Second, it doesn’t use symlinks. Most of the dotfile management tools out there sync your dotfiles into a directory, and then create symlinks to those files. Generally this works, but sometimes you will notice strange behavior when programs expect actual files to exist and instead find a symlink. I like that Chezmoi instead copies the actual files into the directories where they are expected to be. Finally, Chezmoi is written in Go. This means there is only a single, static binary to install and I don’t have to worry about installing and managing a bunch of dependencies like I would for a scripting language. This makes it easier to get dotfiles installed on a new computer.
The trade off for the things I like about Chezmoi is a bigger learning curve. So far, I think that the time spent learning the tool will pay off in the future. I am still in the learning phase, but I am making steady progress.
This is a follow-up from my previous post. I have started my Neovim journey by installing and configuring the vim-plug plugin, and using it to install the Nord theme. One of the things I will miss from Visual Studio Code is the excellent City Lights. While there isn’t an official version of that theme for Vim/Neovim, Nord uses similar colors and is a solid replacement.
I’m using the theme installation as the proving ground for setting up Chezmoi to install files on both Windows and Linux. As I get that figured out, I will start looking at additional Neovim plugins related to my personal and work projects.
Continuing to work on my Chezmoi and Neovim setup.