improve installation experience
This commit is contained in:
+14
-2
@@ -4,6 +4,7 @@ import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -141,7 +142,7 @@ func runInteractiveConfig() error {
|
||||
fmt.Println("------------------------------")
|
||||
|
||||
// OpenAI API Key
|
||||
fmt.Printf("OpenAI API Key (current: %s): ", maskAPIKey(cfg.Transcription.APIKey))
|
||||
fmt.Printf("OpenAI API Key (current: %s, leave empty to use OPENAI_API_KEY env var): ", maskAPIKey(cfg.Transcription.APIKey))
|
||||
if scanner.Scan() {
|
||||
input := strings.TrimSpace(scanner.Text())
|
||||
if input != "" {
|
||||
@@ -227,10 +228,21 @@ func runInteractiveConfig() error {
|
||||
fmt.Println("✅ Configuration saved successfully!")
|
||||
fmt.Println()
|
||||
|
||||
// Check if service is running
|
||||
serviceRunning := false
|
||||
if _, err := exec.Command("systemctl", "--user", "is-active", "--quiet", "hyprvoice.service").CombinedOutput(); err == nil {
|
||||
serviceRunning = true
|
||||
}
|
||||
|
||||
// Show next steps
|
||||
fmt.Println("🚀 Next Steps:")
|
||||
fmt.Println("1. Start/restart the daemon: systemctl --user restart hyprvoice.service")
|
||||
if !serviceRunning {
|
||||
fmt.Println("1. Start the service: systemctl --user start hyprvoice.service")
|
||||
fmt.Println("2. Test voice input: hyprvoice toggle")
|
||||
} else {
|
||||
fmt.Println("1. Restart the service to apply changes: systemctl --user restart hyprvoice.service")
|
||||
fmt.Println("2. Test voice input: hyprvoice toggle")
|
||||
}
|
||||
fmt.Println()
|
||||
|
||||
configPath, _ := config.GetConfigPath()
|
||||
|
||||
@@ -116,7 +116,7 @@ func (c *Config) Validate() error {
|
||||
apiKey = os.Getenv("OPENAI_API_KEY")
|
||||
}
|
||||
if apiKey == "" {
|
||||
return fmt.Errorf("OpenAI API key required (set transcription.api_key in config or OPENAI_API_KEY env var)")
|
||||
return fmt.Errorf("OpenAI API key required: not found in config (transcription.api_key) or environment variable (OPENAI_API_KEY)")
|
||||
}
|
||||
|
||||
// Validate language code if provided (empty string means auto-detect)
|
||||
|
||||
Binary file not shown.
@@ -1,9 +1,19 @@
|
||||
post_install() {
|
||||
echo "==> Hyprvoice installation complete!"
|
||||
echo ""
|
||||
echo " 📋 Next steps (in order):"
|
||||
|
||||
# Auto-enable the service (safe to do during installation)
|
||||
echo "==> Enabling hyprvoice service..."
|
||||
if systemctl --user enable hyprvoice.service 2>/dev/null; then
|
||||
echo " ✅ Service enabled successfully"
|
||||
else
|
||||
echo " ⚠️ Service enable failed (you may need to run: systemctl --user enable hyprvoice.service)"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo " 📋 Next steps:"
|
||||
echo " 1. Configure hyprvoice: hyprvoice configure"
|
||||
echo " 2. Enable the service: systemctl --user enable --now hyprvoice.service"
|
||||
echo " 2. Start the service: systemctl --user start hyprvoice.service"
|
||||
echo " 3. Add keybinding to your window manager config"
|
||||
echo ""
|
||||
echo " 🔑 For Hyprland, add to ~/.config/hypr/hyprland.conf:"
|
||||
@@ -16,9 +26,24 @@ post_install() {
|
||||
post_upgrade() {
|
||||
echo "==> Hyprvoice has been upgraded."
|
||||
echo ""
|
||||
echo " 📋 Next steps:"
|
||||
echo " 1. Restart the service: systemctl --user restart hyprvoice.service"
|
||||
echo " 2. Check for new options: hyprvoice configure"
|
||||
|
||||
# Check if service was running before upgrade
|
||||
was_active=false
|
||||
if systemctl --user is-active --quiet hyprvoice.service 2>/dev/null; then
|
||||
was_active=true
|
||||
echo "==> Service was running, restarting to apply updates..."
|
||||
if systemctl --user restart hyprvoice.service 2>/dev/null; then
|
||||
echo " ✅ Service restarted successfully"
|
||||
else
|
||||
echo " ⚠️ Service restart failed (you may need to run: systemctl --user restart hyprvoice.service)"
|
||||
fi
|
||||
else
|
||||
echo "==> Service was not running (start with: systemctl --user start hyprvoice.service)"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo " 📋 Additional steps:"
|
||||
echo " 1. Check for new configuration options: hyprvoice configure"
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user