nix-cache-login/internal/browser/browser.go

28 lines
552 B
Go
Raw Permalink Normal View History

2026-02-26 11:05:16 +01:00
package browser
import (
"fmt"
"os/exec"
"runtime"
)
// Open opens the given URL in the user's default browser.
func Open(url string) error {
var cmd *exec.Cmd
switch runtime.GOOS {
case "linux":
cmd = exec.Command("xdg-open", url)
case "darwin":
cmd = exec.Command("open", url)
default:
return fmt.Errorf("unsupported platform %s; open this URL manually:\n %s", runtime.GOOS, url)
}
if err := cmd.Start(); err != nil {
return fmt.Errorf("failed to open browser: %w\n Open this URL manually:\n %s", err, url)
}
return nil
}