codchi

Codchi 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!

The default subcommand is codchi status.

Synopsis

codchi -v|--verbose... -q|--quiet... --json -h|--help -V|--versionsubcommands

Subcommands

  • codchi-status(1)
    List installed code machines and their status
  • codchi-init(1)
    Initialize a new code machine
  • codchi-clone(1)
    Clone a project and initialize its code machine using the cloned module.
  • codchi-module(1)
    Manage modules of code machines.
  • codchi-rebuild(1)
    Apply changes to a code machine. By default this also fetches updates for each module.
  • codchi-exec(1)
    Execute a command inside a code machine. The code machine will be started if not already running.
  • codchi-delete(1)
    Delete a code machine with all associated files.
  • codchi-gc(1)
    Perform garbage collection of old nix store paths.
  • codchi-completion(1)
    Generate shell completions.
  • codchi-tar(1)
    Export the file system of a code machine.
  • codchi-store(1)
    Utilities for interacting with the codchistore container.

Options

  • -v, --verbose
    Increase logging verbosity
  • -q, --quiet
    Decrease logging verbosity
  • --json
    Produce output in JSON format, suitable for consumption by another program
  • -h, --help
    Print help (see a summary with -h)
  • -V, --version
    Print version

Examples

Create a code machine with a Java devenv and launch the IntelliJ GUI:

codchi init java-demo https://github.com/aformatik/codchi nixosModules.jvm
codchi exec java-demo idea-community

Create an empty code machine (e.g. to use flake.nix or devenv.sh):

codchi init devenv-sh
codchi exec devenv-sh
nix run nixpkgs#nushell

Remove the code machines above and collect their garbage:

codchi delete java-demo
> Delete 'java-demo'? Yes
codchi delete devenv-sh
> Delete 'devenv-sh'? Yes
codchi gc

Version

v0.3.1