Skip to main content

up_command

Configuration related to the omni up command.

Parameters

ParameterTypeDescription
auto_bootstrapbooleanwhether or not to automatically infer the --bootstrap parameter when running omni up, if changes to the configuration suggestions from the work directory are detected (default: true)
notify_workdir_config_updatedbooleanwhether or not to print a message on the prompt if the up configuration of the work directory has been updated since the last omni up (default: true)
notify_workdir_config_availablebooleanwhether or not to print a message on the prompt if the current work directory has an available up configuration but omni up has not been run yet (default: true)
preferred_toolslistlist of preferred tools for any operations when running omni up; those tools will be preferred over others, in the order they are defined
mise_versionstringthe version of mise to use for the installation of tools that depend on it (default: latest)
upgradebooleanwhether or not to always upgrade to the most up to date matching version of the dependencies when running omni up, even if an already-installed version matches the requirements (default: false)
operationsOperations objectconfiguration of the up operations, with a number of settings oriented toward supply-chain management and security

Operations object

ParameterTypeDescription
allowedlistlist of allowed operations (e.g. go-install, github-release, etc.) to be run when executing omni up. If empty, all operations are allowed. Entries in the list prefixed by ! are disallowed, and wildcards are allowed. Entries are processed in order, so the first match (either allowed or disallowed) is used. For operations using mise as backend, only the mise operation name will be matched on. (default: empty)
sourceslistlist of allowed sources (urls) for the operations to be run when executing omni up. If empty, all sources are allowed. Entries in the list prefixed by ! are disallowed, and wildcards are allowed. Entries are processed in order, so the first match (either allowed or disallowed) is used. This parameter applies over all operations using sources (e.g. go-install, github-releases, mise plugins, etc.) (default: empty)
miseMise objectconfiguration of the mise operations, i.e. of all the operations that use mise as backend
cargo-installCargoInstall objectconfiguration of the cargo-install operations
go-installGoInstall objectconfiguration of the go-install operations
github-releaseGithubRelease objectconfiguration of the github-release operations
info

When using the allow/deny lists, the last entry will indicate the default behavior for all values that are not matched by any of the previous entries.

For example, if the list is ['!a*', 'b*'], all values starting with a will be denied, all values starting with b will be allowed, and all other values will be denied (opposite of the last entry, which is an allow).

In contrast, if the list is ['b*', '!a*'], all values starting with b will be allowed, and all values starting with a will be denied, then all other values will be allowed (opposite of the last entry, which is a deny).

Mise object

ParameterTypeDescription
backendslistlist of allowed backends (e.g. core, aqua, vfox, asdf, etc.) for the mise operations. If empty, all backends are allowed. Entries in the list prefixed by ! are disallowed, and wildcards are allowed. Entries are processed in order, so the first match (either allowed or disallowed) is used. The special custom backend can be used to represent any plugin installed from a provided URL. (default: empty)
sourceslistsame as sources in the Operations object, but applies only to mise operations (default: empty)
default_plugin_sourcesmapmap of default sources for the mise operations, where the key is the tool name (e.g. python) and the value is the source URL (e.g. https://github.com/asdf-community/asdf-python). This is used when no source is provided in the configuration of the operation, and overrides any default URL that would be read from the mise registry. (default: empty)

CargoInstall object

ParameterTypeDescription
crateslistlist of allowed crates for the cargo-install operations. If empty, all crates are allowed. Entries in the list prefixed by ! are disallowed, and wildcards are allowed. Entries are processed in order, so the first match (either allowed or disallowed) is used. (default: empty)

GoInstall object

ParameterTypeDescription
sourceslistsame as sources in the Operations object, but applies only to go-install operations (default: empty)

GithubRelease object

ParameterTypeDescription
repositorieslistlist of allowed repositories in the <owner>/<repo> format for the github-release operations. If empty, all repositories are allowed. Entries in the list prefixed by ! are disallowed, and wildcards are allowed. Entries are processed in order, so the first match (either allowed or disallowed) is used. (default: empty)

Example

up_command:
# Whether or not to automatically infer the `--bootstrap` parameter when running `omni up`
auto_bootstrap: true

# Whether or not to notify the user about the workdir configuration
notify_workdir_config_updated: true

# Whether or not to notify the user about the available workdir configuration
notify_workdir_config_available: true

# List of preferred tools for `any` operations when running `omni up`
preferred_tools:
- nix
- brew
- apt

# The version of `mise` to use for the installation of tools that depend on it
mise_version: latest

# Whether or not to always upgrade to the most up to date matching
# version of the dependencies when running `omni up`
upgrade: false

# Configuration of the up operations
operations:
# List of allowed/denied operations
allowed:
- go-install
- mise
- '!cargo-install'
- '!github-release'
- '!nix'

# Global URL allow/deny list
sources:
- 'github.com/trusted-org/*'
- 'gitlab.com/trusted-org/*'
- '!github.com/bad-owner/*'
- '!*.suspicious-domain.com'

# Operation-specific configuration
mise:
backends:
- asdf
- aqua
- '!a*' # Disallow all backends starting with 'a', allow all others
sources:
- 'github.com/additional-trusted-org/trusted-*'
- '!github.com/additional-trusted-org/*'
default_plugin_sources:
python: 'https://github.com/custom-org/asdf-python.git'
node: 'https://github.com/custom-org/asdf-node.git'

cargo-install:
crates:
- ripgrep # Allow ripgrep, deny all others

go-install:
sources:
- 'golang.org/*'
- '!github.com/method-specific-blocked-org/*'

github-release:
repositories:
- 'owner/*'
- '!owner/legacy-*'