apps

package
v0.12.2 Latest Latest
Warning

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

Go to latest
Published: May 13, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUninstallNotSupported = errors.New("uninstall not supported")
	ErrUpdateNotSupported    = errors.New("update not supported")
	ErrConfigureNotSupported = errors.New("configure not supported")
	ErrExecuteNotSupported   = errors.New("execute not supported")
)

Functions

This section is empty.

Types

type App

type App interface {
	Name() string
	Kind() AppKind

	Install() error
	ForceInstall() error
	SoftInstall() error

	ForceConfigure() error
	SoftConfigure() error

	Uninstall() error
	Update() error

	ExecuteCommand(args ...string) error
}

App is the contract every app module must satisfy. Fonts is the only exception — it satisfies FontInstaller instead.

type AppKind

type AppKind int

AppKind classifies what kind of application an app is.

const (
	KindUnknown  AppKind = iota
	KindTerminal         // CLI tools, terminal emulators, shell utilities
	KindDesktop          // GUI desktop applications
	KindLanguage         // Programming language runtimes and managers
	KindDatabase         // Database systems
	KindFont             // Font packages (satisfies FontInstaller, not App)
	KindMeta             // Devgita itself
)

type FontInstaller

type FontInstaller interface {
	Name() string
	Kind() AppKind
	Available() []string
	SoftInstallAll()
	InstallFont(name string) error
	ForceInstallFont(name string) error
	SoftInstallFont(name string) error
	UninstallFont(name string) error
}

FontInstaller is the contract for the Fonts module, which installs named fonts rather than a single application.

Jump to

Keyboard shortcuts

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