types

package
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2025 License: AGPL-3.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OSLinux   = "linux"
	OSWindows = "windows"
	OSMacOS   = "macos"
	OSDarwin  = "darwin"
)

OS constants

Variables

This section is empty.

Functions

This section is empty.

Types

type AptInstall added in v0.7.1

type AptInstall struct {
	Packages []string `yaml:"packages" json:"packages"`
	Update   bool     `yaml:"update,omitempty" json:"update,omitempty"`
}

AptInstall represents APT installation configuration

type BrewInstall added in v0.7.1

type BrewInstall struct {
	Formula string `yaml:"formula" json:"formula"`
}

BrewInstall represents Homebrew installation configuration

type ChocoInstall added in v0.7.1

type ChocoInstall struct {
	Packages []string `yaml:"packages" json:"packages"`
}

ChocoInstall represents Chocolatey installation configuration

type Command

type Command struct {
	Command     string   `json:"command"`
	Args        []string `json:"args"`
	Description string   `json:"description,omitempty"`
}

Command represents a shell command to execute

type HTTPClient

type HTTPClient interface {
	Name() string
	SupportsOS(os string) bool
	IsAvailable() bool
	CheckURLCommand(url string, expectedStatus int, retries *Retries) Command
}

HTTPClient defines a simple interface for HTTP clients

type PackageManager

type PackageManager interface {
	Name() string
	SupportsOS(os string) bool
	InstallSelfCommand() Command
}

PackageManager defines base interface for all package managers

type Retries

type Retries struct {
	Attempts int `yaml:"attempts" json:"attempts"`
	Backoff  int `yaml:"backoff" json:"backoff"`
}

Retries represents retry configuration

type RuntimeManager added in v0.7.1

type RuntimeManager interface {
	PackageManager
	GetInstallCommands(runtime, version string) []Command
	CheckInstalledCommand(runtime string) Command
}

RuntimeManager handles language runtime installations (asdf)

type ServiceManager

type ServiceManager interface {
	Name() string
	SupportsOS(os string) bool
	StartServiceCommand(service string) Command
	StopServiceCommand(service string) Command
	EnableServiceCommand(service string) Command
}

ServiceManager defines a simple interface for service managers

type SystemPackageManager added in v0.7.1

type SystemPackageManager interface {
	PackageManager
	InstallCommand(pkg, version string) Command
	CheckInstalledCommand(pkg string) Command
	ExtractToolInstallCommands(config interface{}) ([]Command, bool)
}

SystemPackageManager handles system-level tools (brew, apt, choco)

type ToolInstallConfig added in v0.7.1

type ToolInstallConfig struct {
	Brew        *BrewInstall  `yaml:"brew,omitempty" json:"brew,omitempty"`
	Apt         *AptInstall   `yaml:"apt,omitempty" json:"apt,omitempty"`
	Choco       *ChocoInstall `yaml:"choco,omitempty" json:"choco,omitempty"`
	FallbackURL string        `yaml:"fallback_url,omitempty" json:"fallback_url,omitempty"`
	Checksum    string        `yaml:"checksum,omitempty" json:"checksum,omitempty"`
}

ToolInstallConfig represents installation configuration for tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL