refactor: change package management for different software sources

This commit is contained in:
Patryk Hegenberg 2025-01-12 23:38:14 +01:00
parent f14b54ea20
commit c4fbac6b8d
12 changed files with 289 additions and 170 deletions

View file

@ -5,6 +5,7 @@ import (
"io"
"net/http"
"os"
"os/exec"
"runtime"
"github.com/charmbracelet/huh"
@ -65,3 +66,24 @@ func max(a, b int) int {
}
return b
}
func installPackageWithProgress(name string, installFunc func() error) error {
err := installFunc()
if err != nil {
fmt.Printf("\r❌ %s\n", name)
return err
}
fmt.Printf("\r✓ %s\n", name)
return nil
}
func executeShellCommand(command string, env string) error {
cmd := exec.Command("bash", "-c", command)
cmd.Env = os.Environ()
cmd.Env = append(cmd.Env, env)
output, err := cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("befehl fehlgeschlagen: %v\nAusgabe: %s", err, output)
}
return nil
}