I like to plotter. I like to draw pictures with my [axidraw](https://axidraw.com/) and ogle with the [terrapen](https://terrapen.xyz/products/terrapen-a2-pen-plotter) .
I had a few tries using [vsketch](https://vsketch.readthedocs.io/en/latest/) in [NixOS](https://nixos.org) but because I don't know much about Python and never had enough time to dig into it,
I never made [vsketch](https://vsketch.readthedocs.io/en/latest/) work under NixOS. Same holds for the [axidraw cli](https://axidraw.com/doc/cli_api/#introduction).
But lately I got introduced to [pipenv](https://pipenv.pypa.io/en/latest/) which made everything possible and very easy.
Setup
-----
I simple use a combination of `direnv``shell.nix` , `steam-run` and `pipenv` to make everything work.
### shell.nix
The shell nix is called by `direnv` simply by putting
```text-plain
use nix
```
in the repositories `.envrc` file.
In the `shell.nix` I simple define a all packages I need and override the `steam-run` binary to add some package. Getting to this point, was a bit fiddly, but once it works, it works :D This is my `shell.nix`
and magically the shell command `vsk` (which is defined in the `shell.nix`) works like charm.
My first sketch
---------------
After running
```text-plain
vsk init SimpleRings
```
I could instantly start fiddling around with the code.
I'm amazed how fast my development cycle was. I could instantly see results, and play around with seed and parameters. And once I liked something. I can just hit **Like** and it will be saved as svg.
Here is my first script + some screenshots and photos of the results: