Module OpamPath

Defines the file hierarchy in ~/.opam

Global paths

Type of path root

val state_cache : t -> OpamTypes.filename

State cache

val lock : t -> OpamTypes.filename

Global lock file for the whole opamroot. Opam should generally read-lock this (e.g. initialisation and format upgrades require a write lock)

Main configuration file: $opam/config

val init_config_files : unit -> OpamFile.InitConfig.t OpamFile.t list

The list of configuration files location used by default (/etc/opamrc and ~/.opamrc). More general (lower priority) first.

val config_lock : t -> OpamTypes.filename

Lock for updates on the main config file (write lock when changes to switches, repositories lists are expected. No lock needed otherwise)

val archives_dir : t -> OpamTypes.dirname

Archives dir

Archive file: $opam/archives/$NAME.$VERSION+opam.tar.gz

val repos_lock : t -> OpamTypes.filename

Global lock file for the repositories mirrors: $opam/repo/lock

val repos_config : t -> OpamFile.Repos_config.t OpamFile.t

Global config file for the repositories mirrors: $opam/repo/repos-config

val init : t -> OpamTypes.dirname

Init scripts location: $opam/opam-init

val hooks_dir : t -> OpamTypes.dirname

Installation dir for configured hooks: $$opam/opam-init/hooks

val log : t -> OpamTypes.dirname

Log dir $opam/log

val backup_dir : t -> OpamTypes.dirname

The directory where global backups are stored

Backup file for state export

val plugins : t -> OpamTypes.dirname

The directory for plugins data $opam/plugins

val plugins_bin : t -> OpamTypes.dirname

The directory for shared plugin binaries $opam/plugins/bin

val plugin_bin : t -> OpamTypes.name -> OpamTypes.filename

The globally installed binary of the given plugin $opam/plugins/bin/opam-foo

The directory for a given plugin's data $opam/plugins/$name. "bin" is forbidden.

module type LAYOUT = sig ... end
module Switch : sig ... end

Switch related paths

module Builddir : sig ... end

Location of package-specific files relative to their build directory