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

**URL:** https://community.keyboard.io/t/easy-flashing-of-a-model-100-with-nix-for-some-definition-of-easy/6574
**Category:** Programming
**Created:** [December 20, 2023, 7:49am UTC](https://community.keyboard.io/t/easy-flashing-of-a-model-100-with-nix-for-some-definition-of-easy/6574 "2023-12-20T07:49:26Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![shajra](https://avatars.discourse-cdn.com/v4/letter/s/838e76/32.png) [@shajra](https://community.keyboard.io/u/shajra)
#### Post date: [December 20, 2023, 7:49am UTC](https://community.keyboard.io/t/easy-flashing-of-a-model-100-with-nix-for-some-definition-of-easy/6574/1 "2023-12-20T07:49:26Z")

</div>

I had a similar post about four years ago when I first made my [shajra-keyboards](https://github.com/shajra/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:

```auto
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.
