pub enum Action {
Package {
binary: Option<String>,
packages: PackageNames,
aur: Option<String>,
flatpak: Option<String>,
conflicts: Vec<String>,
removable: bool,
},
Script {
file: PathBuf,
interactive: bool,
},
Command {
line: String,
},
Nix {
action: NixAction,
},
Native {
action: NativeAction,
},
Profile {
entries: Vec<String>,
},
}Expand description
What an entry does when run: the operation model shared by every interface. The engine turns these into explicit plans.
Variants§
Package
Install one package: the family’s native package, else on Arch the AUR package through paru or yay, else the Flatpak from Flathub.
Fields
binary: Option<String>A command the package provides. Whether the entry is installed is asked of the package manager and Flatpak first; the command only recognises an install made some other way (Nix, a download) when none of its packages, and none it conflicts with, is installed.
packages: PackageNamesScript
Run a script from its own directory. Interactive scripts need a terminal for their prompts; the others could run unattended.
Command
Run an inline shell command.
Nix
A Nix operation.
Native
An operation implemented in Rust by the engine itself.
Fields
action: NativeActionProfile
A reviewable list of other entries, run in order.