Skip to main content

VmConfig

Struct VmConfig 

Source
pub struct VmConfig {
    pub enabled: bool,
    pub backend: String,
    pub eager_start: bool,
    pub lima_instance: String,
}
Expand description

Parsed VM-related environment.

Fields§

§enabled: bool

DEVSHELL_VM enabled.

§backend: String

Raw backend string (trimmed); see ENV_DEVSHELL_VM_BACKEND for defaults.

§eager_start: bool

Eager VM/session start when REPL opens (vs lazy on first rustup/cargo).

§lima_instance: String

Lima instance name.

Implementations§

Source§

impl VmConfig

Source

pub fn from_env() -> Self

Read configuration from process environment.

Source

pub const fn disabled() -> Self

Config with VM mode off (for tests).

Source

pub fn use_host_sandbox(&self) -> bool

Normalized backend: host and auto use the host temp sandbox; lima uses γ (Unix; see docs/devshell-vm-gamma.md).

Source

pub fn workspace_mode_effective(&self) -> WorkspaceMode

Effective workspace mode after combining workspace_mode_from_env with VM availability (guest-primary design §6).

Returns WorkspaceMode::Guest only when the user requested guest, VmConfig::enabled is true, VmConfig::use_host_sandbox is false, and the backend is lima or beta. Otherwise returns WorkspaceMode::Sync without erroring.

Trait Implementations§

Source§

impl Clone for VmConfig

Source§

fn clone(&self) -> VmConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VmConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for VmConfig

Source§

fn eq(&self, other: &VmConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for VmConfig

Source§

impl StructuralPartialEq for VmConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.