nix-amer/internal/instruction/ins.go

36 lines
552 B
Go

package instruction
import (
"fmt"
"strings"
)
type install struct {
raw string
Packages []string
}
func (d *install) Raw() string { return d.raw }
func (d *install) Build(_args string) error {
d.Packages = strings.Split(_args, " ")
d.raw = _args
return nil
}
func (d install) Exec(ctx ExecutionContext) ([]byte, error) {
// install all packages
for _, pkg := range d.Packages {
err := ctx.PackageManager.Install(pkg)
if err != nil {
return nil, fmt.Errorf("cannot install '%s' | %s", pkg, err)
}
}
return nil, nil
}