package opam-state

  1. Overview
  2. Docs

Module OpamEnvSource

Process environment setup and handling, shell configuration

Environment handling

Sourceval get_full : ?set_opamroot:bool -> ?set_opamswitch:bool -> force_path:bool -> ?updates:OpamTypes.env_update list -> 'a OpamStateTypes.switch_state -> OpamTypes.env

Get the current environment with OPAM specific additions. If force_path, the PATH is modified to ensure opam dirs are leading. set_opamroot and set_opamswitch can be additionally used to set the OPAMROOT and OPAMSWITCH variables.

Sourceval get_opam : ?set_opamroot:bool -> ?set_opamswitch:bool -> force_path:bool -> 'a OpamStateTypes.switch_state -> OpamTypes.env

Get only environment modified by OPAM. If force_path, the PATH is modified to ensure opam dirs are leading. set_opamroot and set_opamswitch can be additionally used to set the OPAMROOT and OPAMSWITCH variables.

Sourceval get_opam_raw : ?set_opamroot:bool -> ?set_opamswitch:bool -> force_path:bool -> OpamTypes.dirname -> OpamTypes.switch -> OpamTypes.env

Like get_opam, but reads the cache file from the given opam root and switch instead of computing the environment from a switch state

Sourceval get_pure : ?updates:OpamTypes.env_update list -> unit -> OpamTypes.env

Returns the running environment, with any opam modifications cleaned out, and optionally the given updates

Sourceval add : OpamTypes.env -> OpamTypes.env_update list -> OpamTypes.env

Update an environment, including reverting opam changes that could have been previously applied (therefore, don't apply to an already updated env as returned by e.g. get_full!)

Sourceval is_up_to_date : 'a OpamStateTypes.switch_state -> bool

Check if the shell environment is in sync with the current OPAM switch

Sourceval is_up_to_date_switch : OpamTypes.dirname -> OpamTypes.switch -> bool

Check if the shell environment is in sync with the given opam root and switch

Sourceval compute_updates : ?force_path:bool -> 'a OpamStateTypes.switch_state -> OpamTypes.env_update list

Returns the current environment updates to configure the current switch with its set of installed packages

Sourceval eval_string : 'a OpamStateTypes.global_state -> ?set_opamswitch:bool -> OpamTypes.switch option -> string

The shell command to run by the user to set his OPAM environment, adapted to the current shell (as returned by eval `opam config env`)

Sourceval path : force_path:bool -> OpamTypes.dirname -> OpamTypes.switch -> string

Returns the updated contents of the PATH variable for the given opam root and switch (set force_path to ensure the opam path is leading)

Sourceval full_with_path : force_path:bool -> ?updates:OpamTypes.env_update list -> OpamTypes.dirname -> OpamTypes.switch -> OpamTypes.env

Returns the full environment with only the PATH variable updated, as per path

Shell and initialisation support

Sourceval setup : OpamTypes.dirname -> interactive:bool -> ?dot_profile:OpamTypes.filename -> ?update_config:bool -> ?env_hook:bool -> ?completion:bool -> OpamTypes.shell -> unit

Sets the opam configuration in the user shell, after detailing the process and asking the user if either update_config or shell_hook are unset

Sourceval update_user_setup : OpamTypes.dirname -> ?dot_profile:OpamTypes.filename -> OpamTypes.shell -> unit

Update the user configuration in $HOME for good opam integration.

Sourceval write_static_init_scripts : OpamTypes.dirname -> ?completion:bool -> ?env_hook:bool -> unit -> unit

Write the generic scripts in ~/.opam/opam-init needed to import state for various shells. If specified, completion and env_hook files can also be written or removed (the default is to keep them as they are)

Sourceval write_custom_init_scripts : OpamTypes.dirname -> (string * string) list -> unit

Write into OpamPath.hooks_dir the given custom scripts (listed as (filename, content)), normally provided by opamrc (OpamFile.InitConfig)

Sourceval write_dynamic_init_scripts : 'a OpamStateTypes.switch_state -> unit

Update the shell scripts containing the current switch configuration in ~/.opam/opam-init ; prints a warning and skips if a write lock on the global state can't be acquired (note: it would be better to acquire a write lock beforehand, but only when working on the switch selected in ~/.opam/config)

Sourceval clear_dynamic_init_scripts : OpamStateTypes.rw OpamStateTypes.global_state -> unit

Removes the dynamic init scripts setting the variables for any given switch.

Sourceval check_and_print_env_warning : 'a OpamStateTypes.switch_state -> unit

Print a warning if the environment is not set-up properly. (General message)

OCaml

Innovation. Community. Security.