Evil by default
A while ago I wrote about becoming the maintainer of God mode, the package that gives you modal editing in Emacs without abandoning Emacs key bindings. I still maintain it, but I no longer use it.
To be clear: I didn't leave God mode because there's anything wrong with it. I left because of where the rest of my configuration wanted to go. I'd also used Vim for years before I switched to Emacs, so this was less a conversion than a relapse.
Continue reading →Nix has changed everything
I've carried the same dotfiles around for years, copying them from machine to machine, patching over the differences by hand, and never quite trusting that a fresh setup would end up like the last one. I used my dotfiles to configure my Linux machines at home as well as my MacBook, which I generally use for work. Every time I set up a new machine, I ended up tweaking the scripts to fix a broken package or a moved config path.
I also preferred using a Linux distribution with a rolling release, so that I could try out the latest versions of the tools I use. I moved from Ubuntu to Manjaro ages ago for this reason, but my dotfiles often broke in the most unexpected ways.
So I decided to run an experiment: rebuild my entire environment declaratively with Nix and try out NixOS, and see how far the reproducibility actually goes. The result is nix-dotfiles.
Continue reading →A story about map
In Haskell, map is defined as:
map :: (a -> b) -> [a] -> [b]
Continue reading →
A lesson from open source software
I've always tried to contribute to open source software whenever I've seen the opportunity, but becoming a maintainer of an open source library gave me some completely new perspectives.
I've used Emacs for almost a decade, and I used Vim before that. Maybe the fact that vi key bindings are just another package in Emacs, called Evil, was one of the reasons I switched to Emacs. I like modal editing, but I don't use Evil. Instead, I use God mode with Emacs key bindings.
At some point, I discovered Doom Emacs, which packed a lot of functionality that interested me compared to other Emacs distributions.
Continue reading →