Configuration

Configuration file

LXM3 uses a TOML configuration file to store global configuration information.

The following places are checked in order for LXM3 configuration:
  1. Path to a configuration file specified via --lxm_config=<path to config>.

  2. Path to a configuration file specified by the LXM_CONFIG environment variable.

  3. lxm.toml file in the current working directory.

  4. Configuration file stored in $XDG_CONFIG_HOME/lxm3/config.toml (typically ~/.config/lxm3/config.toml)

Here is an example Configuration file:

project = "" # Optional project name
# Configuration for running in local mode.
[local]
[local.storage]
staging = ".cache/lxm"

# Configuration for running on clusters.
[[clusters]]
# Set a name for this cluster, e.g., "cs"
name = "<TODO>"
# Replace with the server you normally use for ssh into the cluster, e.g. "beaker.cs.ucl.ac.uk"
server = "<TODO>"
# Fill in the username you use for this cluster.
user = "<TODO>"
# Uncomment and update the line below if you would like to use a private key file ssh.
# ssh_private_key = "~/.ssh/<private key name>"
# Uncomment and update the line below if you would like to use a password for ssh.
# password = "<password>"
# Uncomment and update the line below if you need to connect to the cluster
# via a jump server. This corresponds to the proxycommand option in ssh_config.
# proxycommand = ""

[clusters.storage]
# Replace with the path to a staging directory on the cluster. lxm3 uses this directory for storing all files required to run your job.
staging = "<absolute path to your home directory>/lxm3-staging"

Environment variables

The following environment variables can be used to configure the LXM3 launcher:

  1. LXM_CONFIG: Path to the configuration file.

  2. LXM_PROJECT: Name of the project to use. This is used as

    the sub-directory used when staging jobs.

  3. LXM_CLUSTER: Name of default cluster to use for launching jobs.