package utils import ( "fmt" "os" "path/filepath" "time" "github.com/charmbracelet/huh" ) func GetSudoPassword() (string, error) { var password string form := huh.NewForm( huh.NewGroup( huh.NewInput(). Title("Enter your password"). EchoMode(huh.EchoModePassword). Value(&password), ), ).WithTheme(huh.ThemeCatppuccin()) err := form.Run() if err != nil { return "", fmt.Errorf("error at password-dialog: %v", err) } return password, nil } func max(a, b int) int { if a > b { return a } return b } func LogToHistory(action, pkg, manager string) error { dirname, err := os.UserConfigDir() if err != nil { return fmt.Errorf("cant obtain config dir: %v", err) } historyFile := filepath.Join(dirname, "sst", "sst_history") f, err := os.OpenFile(historyFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { return err } defer f.Close() timestamp := time.Now().Format("2006-01-02 15:04:05") logEntry := fmt.Sprintf("%s: action: [%s] - package: [%s] - packagemanager: [%s]\n", timestamp, action, pkg, manager) if _, err := f.WriteString(logEntry); err != nil { return err } return nil }