···4455This section uses [Mint](https://github.com/mint-lang/mint) as an example for how to build a Crystal package.
6677-If the Crystal project has any dependencies, the first step is to get a `shards.nix` file encoding those. Get a copy of the project and go to its root directory such that its `shard.lock` file is in the current directory, then run `crystal2nix` in it
88-77+If the Crystal project has any dependencies, the first step is to get a `shards.nix` file encoding those. Get a copy of the project and go to its root directory such that its `shard.lock` file is in the current directory. Executable projects should usually commit the `shard.lock` file, but sometimes that's not the case, which means you need to generate it yourself. With an existing `shard.lock` file, `crystal2nix` can be run.
98```bash
109$ git clone https://github.com/mint-lang/mint
1110$ cd mint
1211$ git checkout 0.5.0
1212+$ if [ ! -f shard.lock ]; then nix-shell -p shards --run "shards lock"; fi
1313$ nix-shell -p crystal2nix --run crystal2nix
1414```
1515