Easy flashing of a Model 100 with Nix (for some definition of "easy")

I had a similar post about four years ago when I first made my shajra-keyboards project. I’ve updated it in a few notable ways:

  • support for Model 100, in addition to the Model 01
  • support for a ZSA Moonlander, if you have one of those
  • upgrading to Nix flakes (the build is even more controlled with better caching and ergonomics).

The whole point of this project is to have a one-line command-line invocation that “just works.” If you have the Nix package manager installed, Nix should do the rest, repeatably and with no question of conflicts with anything else installed on your system. I think I got about as far as I had in mind. The invocation is:

nix run 'github:shajra/shajra-keyboards#flash-model100' -k $KEYMAP_NAME -K $KEYMAPS_DIR

You don’t even need to clone the repository, thanks to flakes.

Let me know what you think or if you give it a shot.