After quietly developing and using Codchi at aformatik for about two years, we (Johannes & Nico (/u/niicco0)) are excited to announce the public beta of Codchi today!
Codchi (Code Machines) is a tool that manages your project’s development environment in a reproducible and easy to use way. Setting up a development environment should be as easy as a git clone
!
At this point, most of you might be thinking “we can do this already with nix flakes” or “great, another devenv clone”. However, Codchi is designed to complement existing tools like nix flakes, devenv.sh or flox, not compete with them.
Technically speaking, Codchi is a tool that allows installing NixOS modules on any machine (currently Windows 10, 11 and Linux) without having to worry about hardware configuration or installing Nix itself. To do this, Codchi bundles a list of NixOS modules into a code machine and builds it into a NixOS system using either WSL on Windows or LXD on Linux as shown below. Codchi also provides host integration such as GUI, sound, file sharing, secret management and GPU drivers out of the box.
Our goal with Codchi is to bring the reproducibility and reliability of Nix(OS) to non-Nix developers, especially in corporate environments (which mostly use Windows). Often enterprise projects are quite complex (multiple services, IDEs or programs that pollute the whole system), which is why we use actual NixOS systems instead of “just” development shells. This has several advantages:
- Proper isolation from the host via a system container per code machine.
- All of the 20,000+ NixOS options in nixpkgs and the existing NixOS ecosystem can be used.
- Each code machine has a flake-enabled nix (with a shared store between code machines), allowing the use of established tools like devshells, devenv.sh, flox, and much more.
Here you can see Codchi in action:
While Codchi is ultimately meant for all developers, including those who have never touched Nix before, we’re currently seeking feedback from people already familiar with Nix(OS). Once we collect enough input and refine the experience, we plan to release Codchi more broadly to everyone.
This is our little Christmas present to you. We look forward to your feedback! Feel free to post in the comments or send an email to <codchi [at] aformatik [dot] de>.
Learn more:
- Installation: https://codchi.dev/introduction/installation
- Codchi’s Homepage: https://codchi.dev
- Codchi’s GitHub: https://github.com/aformatik/codchi
- Issue Tracker: https://github.com/aformatik/codchi/issues
DISCLAMER
Codchi is currently in beta and still under active development and testing. Please expect potential bugs and incomplete features and report them on our GitHub. Please do not store important data in code machines yet, as the integration with WSL can still be buggy sometimes.