pub enum Extra {
Graphify,
Plugin(&'static str),
OhMyOpenAgent,
OhMyOpenCodeSlim,
Rust,
Chromium,
Settings,
}Expand description
One part of what an image can carry beside the harness: graphify, one of the Claude Code plugins, one of the teams of agents opencode has, the Rust toolchain, the browser, or the recommended settings.
A part is a row with a switch of its own. A ready-made set switches a set of them on
(Template::parts) and a custom profile names the ones it goes without, so a file never has to
spell out what it wants: what it names nothing of is on, which is also how every profile written
before the choice existed reads.
Variants§
Graphify
graphify; without it, nothing of graphify is installed and nothing of it is set up in the workspace.
Plugin(&'static str)
One Claude Code plugin, as claude plugin install takes it: one of CLAUDE_PLUGINS.
OhMyOpenAgent
oh-my-openagent; without it, opencode’s settings do not name it.
OhMyOpenCodeSlim
oh-my-opencode-slim; without it, opencode’s settings do not name it.
Rust
The Rust toolchain of Quvyta development: rustup’s stable toolchain with clippy and rustfmt, the C toolchain and uv beside it. Without it no build of a Rust project can run in the image.
Chromium
Chromium, under Quvyta development; without it, no browser is installed.
Settings
The settings, first-start answers and update switches every ready-made set writes into the image of its own. Without it the harness runs as it comes and asks its first questions in every workspace.
Implementations§
Source§impl Extra
impl Extra
Sourcepub fn id(self) -> &'static str
pub fn id(self) -> &'static str
How the part is written in definition files, which is also the name its maker gives it.
Sourcepub fn older_can_leave_out(self) -> bool
pub fn older_can_leave_out(self) -> bool
Whether a QCode from before Template::Custom also builds an image without this part
when a file’s off-list names it. The Rust toolchain and the recommended settings came
with their sets, not as switches, and such a QCode would build them regardless.
Sourcepub fn ordered(parts: impl IntoIterator<Item = Self>) -> Vec<Self>
pub fn ordered(parts: impl IntoIterator<Item = Self>) -> Vec<Self>
The parts in the order the wizard lists them, so that a set of them reads the same however it was put together.
Trait Implementations§
impl Copy for Extra
impl Eq for Extra
impl StructuralPartialEq for Extra
Auto Trait Implementations§
impl Freeze for Extra
impl RefUnwindSafe for Extra
impl Send for Extra
impl Sync for Extra
impl Unpin for Extra
impl UnsafeUnpin for Extra
impl UnwindSafe for Extra
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more