pub enum ConfigLayerSource {
Mdm {
domain: String,
key: String,
},
System {
file: AbsolutePathBuf,
},
EnterpriseManaged {
id: String,
name: String,
},
User {
file: AbsolutePathBuf,
profile: Option<String>,
},
Project {
dot_codex_folder: AbsolutePathBuf,
},
SessionFlags,
LegacyManagedConfigTomlFromFile {
file: AbsolutePathBuf,
},
LegacyManagedConfigTomlFromMdm,
}Expand description
ConfigLayerSource
JSON schema
{
"oneOf": [
{
"title": "MdmConfigLayerSource",
"description": "Managed preferences layer delivered by MDM (macOS only).",
"type": "object",
"required": [
"domain",
"key",
"type"
],
"properties": {
"domain": {
"type": "string"
},
"key": {
"type": "string"
},
"type": {
"title": "MdmConfigLayerSourceType",
"type": "string",
"enum": [
"mdm"
]
}
}
},
{
"title": "SystemConfigLayerSource",
"description": "Managed config layer from a file (usually `managed_config.toml`).",
"type": "object",
"required": [
"file",
"type"
],
"properties": {
"file": {
"description": "This is the path to the system config.toml file, though it is not guaranteed to exist.",
"allOf": [
{
"$ref": "#/definitions/AbsolutePathBuf"
}
]
},
"type": {
"title": "SystemConfigLayerSourceType",
"type": "string",
"enum": [
"system"
]
}
}
},
{
"title": "EnterpriseManagedConfigLayerSource",
"description": "Enterprise-managed config layer delivered by the cloud config bundle.",
"type": "object",
"required": [
"id",
"name",
"type"
],
"properties": {
"id": {
"description": "Stable identifier for the delivered layer.",
"type": "string"
},
"name": {
"description": "Admin-facing name for the delivered layer. This is surfaced in diagnostics so users know which cloud layer needs administrator attention.",
"type": "string"
},
"type": {
"title": "EnterpriseManagedConfigLayerSourceType",
"type": "string",
"enum": [
"enterpriseManaged"
]
}
}
},
{
"title": "UserConfigLayerSource",
"description": "User config layer from $CODEX_HOME/config.toml. This layer is special in that it is expected to be: - writable by the user - generally outside the workspace directory",
"type": "object",
"required": [
"file",
"type"
],
"properties": {
"file": {
"description": "This is the path to the user's config.toml file, though it is not guaranteed to exist.",
"allOf": [
{
"$ref": "#/definitions/AbsolutePathBuf"
}
]
},
"profile": {
"description": "Name of the selected profile-v2 config layered on top of the base user config, when this layer represents one.",
"type": [
"string",
"null"
]
},
"type": {
"title": "UserConfigLayerSourceType",
"type": "string",
"enum": [
"user"
]
}
}
},
{
"title": "ProjectConfigLayerSource",
"description": "Path to a .codex/ folder within a project. There could be multiple of these between `cwd` and the project/repo root.",
"type": "object",
"required": [
"dotCodexFolder",
"type"
],
"properties": {
"dotCodexFolder": {
"$ref": "#/definitions/AbsolutePathBuf"
},
"type": {
"title": "ProjectConfigLayerSourceType",
"type": "string",
"enum": [
"project"
]
}
}
},
{
"title": "SessionFlagsConfigLayerSource",
"description": "Session-layer overrides supplied via `-c`/`--config`.",
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"title": "SessionFlagsConfigLayerSourceType",
"type": "string",
"enum": [
"sessionFlags"
]
}
}
},
{
"title": "LegacyManagedConfigTomlFromFileConfigLayerSource",
"description": "`managed_config.toml` was designed to be a config that was loaded as the last layer on top of everything else. This scheme did not quite work out as intended, but we keep this variant as a \"best effort\" while we phase out `managed_config.toml` in favor of `requirements.toml`.",
"type": "object",
"required": [
"file",
"type"
],
"properties": {
"file": {
"$ref": "#/definitions/AbsolutePathBuf"
},
"type": {
"title": "LegacyManagedConfigTomlFromFileConfigLayerSourceType",
"type": "string",
"enum": [
"legacyManagedConfigTomlFromFile"
]
}
}
},
{
"title": "LegacyManagedConfigTomlFromMdmConfigLayerSource",
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"title": "LegacyManagedConfigTomlFromMdmConfigLayerSourceType",
"type": "string",
"enum": [
"legacyManagedConfigTomlFromMdm"
]
}
}
}
]
}Variants§
Mdm
MdmConfigLayerSource
Managed preferences layer delivered by MDM (macOS only).
System
SystemConfigLayerSource
Managed config layer from a file (usually managed_config.toml).
Fields
file: AbsolutePathBufThis is the path to the system config.toml file, though it is not guaranteed to exist.
EnterpriseManaged
EnterpriseManagedConfigLayerSource
Enterprise-managed config layer delivered by the cloud config bundle.
Fields
User
UserConfigLayerSource
User config layer from $CODEX_HOME/config.toml. This layer is special in that it is expected to be: - writable by the user - generally outside the workspace directory
Fields
file: AbsolutePathBufThis is the path to the user’s config.toml file, though it is not guaranteed to exist.
Project
ProjectConfigLayerSource
Path to a .codex/ folder within a project. There could be multiple of these between cwd and the project/repo root.
Fields
dot_codex_folder: AbsolutePathBufSessionFlags
LegacyManagedConfigTomlFromFile
LegacyManagedConfigTomlFromFileConfigLayerSource
managed_config.toml was designed to be a config that was loaded as the last layer on top of everything else. This scheme did not quite work out as intended, but we keep this variant as a “best effort” while we phase out managed_config.toml in favor of requirements.toml.
Fields
file: AbsolutePathBufLegacyManagedConfigTomlFromMdm
Trait Implementations§
Source§impl Clone for ConfigLayerSource
impl Clone for ConfigLayerSource
Source§fn clone(&self) -> ConfigLayerSource
fn clone(&self) -> ConfigLayerSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more