OpamPath
Defines the file hierarchy in ~/.opam
type t = OpamTypes.dirname
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)
val config : t -> OpamFile.Config.t OpamFile.t
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
val archive : t -> OpamTypes.package -> OpamTypes.filename
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
val backup : t -> OpamTypes.switch_selections OpamFile.t
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
val plugin : t -> OpamTypes.name -> OpamTypes.dirname
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