Updated Mac Setup

Harry Panayiotou
2 min readSep 15, 2020

I previously wrote a post about my Mac setup. I’ve made a few updates and wanted to cover them in a new, smaller post. Here are the changes I’ve made.

Conqueror of Completions

I used to use Ale, vim-go and deoplete, supertab for my dev env but I found it a little cumbersome and I found myself fighting it. Especially when getting go references and auto-completion up and running. Had to use a modified LSP for that.

So I switched to Conqueror of Completions which kind of does everything I need including references, auto-completions and even example code. I like the way their config is handled too. The only thing then I’m really left with is installing of the LSPs it relies upon but that’s a minor inconvenience given I can rely on a single vim package.

Managing Dotfiles

This was a long time coming. I wanted something cross-compatible with Mac (work) and Linux (home) so I figured why not use docker for all my command line utilities and native for GUI apps?

Turns out, don’t do that. I had trouble running an LSP for terraform for vim-coc. Oh and passing through the docker socket wasn’t working for me either. I failed fast on the docker host as I just didn’t have the time.

Instead, I have adopted the fantastic chezmoi. This manages dotfiles using a Go binary with all sorts of features like templating (with OS based conditionals) and injecting secrets from password managers. Then I wrapped it all up in a makefile so it should be a couple of commands to setup my environment on a new host.

What’s next?

The next bit I’m going to work on is trying to work out how I make components out of different bits of the system. For example, I may have google-cloud-sdk on one machine but not on another. I want to work out the best way of installing brew packages and setting custom zsh scripts as a selectable component for my dev setup.

--

--