Environment Variables

Idris 2 recognises a number of environment variables, to decide where to look for packages, external libraries, code generators, etc. It currently recognises, in approximately the order you’re likely to need them:

Build-time

  • PREFIX - Default way to set the Idris2 installation prefix.
  • IDRIS2_PREFIX - Alternative way to set the Idris2 installation prefix.

Runtime

  • EDITOR - Editor used in REPL :e command.

Both

  • IDRIS2_CG - Codegen backend.
  • IDRIS2_PATH - Directories where Idris2 looks for import files, in addition to the imports in packages
  • IDRIS2_PACKAGE_PATH - Directories where Idris2 looks for Idris 2 packages, in addition to the defaults (which are under the IDRIS2_PREFIX and in the depends subdirectory of the current working directory). Directories are separated by a : on MacOS and *NIX systems, or a ; on Windows
  • IDRIS2_DATA - Directories where Idris2 looks for data files. These are typically support code for code generators.
  • IDRIS2_LIBS - Directories where Idris2 looks for libraries (for code generation).
  • CHEZ - Chez backend: location of the chez executable.
  • RACKET - Racket backend: location of the racket executable.
  • RACKET_RACO - Racket backend: location of the raco executable.
  • IDRIS2_INC_CGS - Code generators to use (comma separated) when compiling modules incrementally.
  • IDRIS2_CC - RefC backend: location of the C compiler executable.
  • IDRIS2_CFLAGS - RefC backend: C compiler flags.
  • IDRIS2_CPPFLAGS - RefC backend: C preprocessor flags.
  • IDRIS2_LDFLAGS - RefC backend: C linker flags.
  • IDRIS2_LDLIBS - RefC backend: C linker library names or flags.
  • CC - RefC backend: C compiler executable (IDRIS2_CC takes precedence).
  • CFLAGS - RefC backend: C compiler flags (IDRIS2_CFLAGS takes precedence).
  • CPPFLAGS - RefC backend: C preprocessor flags (IDRIS2_CPPFLAGS takes precedence).
  • LDFLAGS - RefC backend: C linker flags (IDRIS2_LDFLAGS takes precedence).
  • LDLIBS - RefC backend: C linker library names or flags.
  • NODE - NodeJS backend: node executable.
  • PATH - PATH variable is used to search for executables in certain codegens.
  • NO_COLOR - Instruct Idris not to print colour to stdout. Passing the –colour/–color option will supersede this environment variable.
  • GAMBIT_GSI - Gambit backend: location of the gsi executable.
  • GAMBIT_GSC - Gambit backend: location of the gsc executable.
  • GAMBIT_GSC_BACKEND - Gambit backend: arguments passed to gsc.