mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
52 lines
865 B
Go
52 lines
865 B
Go
package deps
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
type DependencyStatus int
|
|
|
|
const (
|
|
StatusMissing DependencyStatus = iota
|
|
StatusInstalled
|
|
StatusNeedsUpdate
|
|
StatusNeedsReinstall
|
|
)
|
|
|
|
type PackageVariant int
|
|
|
|
const (
|
|
VariantStable PackageVariant = iota
|
|
VariantGit
|
|
)
|
|
|
|
type Dependency struct {
|
|
Name string
|
|
Status DependencyStatus
|
|
Version string
|
|
Description string
|
|
Required bool
|
|
Variant PackageVariant
|
|
CanToggle bool
|
|
}
|
|
|
|
type WindowManager int
|
|
|
|
const (
|
|
WindowManagerHyprland WindowManager = iota
|
|
WindowManagerNiri
|
|
)
|
|
|
|
type Terminal int
|
|
|
|
const (
|
|
TerminalGhostty Terminal = iota
|
|
TerminalKitty
|
|
TerminalAlacritty
|
|
)
|
|
|
|
type DependencyDetector interface {
|
|
DetectDependencies(ctx context.Context, wm WindowManager) ([]Dependency, error)
|
|
DetectDependenciesWithTerminal(ctx context.Context, wm WindowManager, terminal Terminal) ([]Dependency, error)
|
|
}
|