chore(nix): various dev shell improvements#1306
Conversation
Flake lock file updates:
• Updated input 'nixpkgs':
'github:nixos/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c?narHash=sha256-wNO3%2BKs2jZJ4nTHMuks%2BcxAiVBGNuEBXsT29Bz6HASo%3D' (2025-08-14)
→ 'github:nixos/nixpkgs/1c3fe55ad329cbcb28471bb30f05c9827f724c76?narHash=sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M%2BC8yzzIRYbE%3D' (2026-04-27)
| .idea No newline at end of file | ||
| .idea | ||
| **/.direnv |
There was a problem hiding this comment.
@BrandonPacewic What's the stance on newlines at EOF?
HunterBarclay
left a comment
There was a problem hiding this comment.
@0xda157 Could you provide a Nix README file and add a section to the main README referring to it? I think this has some really good potential, but as someone who has never really looked into Nix before reading this PR, it took me like an hour to figure out how to even start a shell correctly.
| isort | ||
| bun | ||
| ]; | ||
| }; |
There was a problem hiding this comment.
@azaleacolburn Shell for using emscripten to compile Jolt?
|
@0xda157 I'd also suggest shell hooks for the following
|
I added a section to contributing.md about it, but I'm not so sure a guide on how to install/use nix belongs in the synthesis contributing guide.
Shell hooks generally aren't used like this, because shells can be entered from anywhere (e.g. running |
Changes to default shell and explanation for why the others shouldn't be made are satisfactory.
The point of a nix dev shell is to include tools needed to interact with the project, so one doesn't have to install them globally. Therefor we should include any programs required, not just playwright.
I also changed shebangs from
/bin/bashto/usr/bin/env bashwhich allows users of OSs that don't install programs to/bin(such as nixos) to the scriptsDirenv allows for automatically entering and exiting nix shells when cd-ing in/out of the directory in question, which makes thing much more convenient for nix users. It also removes the possibility of using a shell which no longer reflects the code, which can be a common source of issues.