1package main
 2
 3import (
 4	"smoothie/tui"
 5
 6	tea "github.com/charmbracelet/bubbletea"
 7	"github.com/meowgorithm/babyenv"
 8)
 9
10type Config struct {
11	KeyPath string `env:"SMOOTHIE_KEY_PATH" default:".ssh/smoothie_server_ed25519"`
12	Port    int    `env:"SMOOTHIE_PORT" default:"23231"`
13}
14
15func main() {
16	var cfg Config
17	err := babyenv.Parse(&cfg)
18	if err != nil {
19		panic(err)
20	}
21	btm := BubbleTeaMiddleware(tui.SessionHandler, tea.WithAltScreen())
22	s, err := NewServer(cfg.Port, cfg.KeyPath, LoggingMiddleware(), btm)
23	if err != nil {
24		panic(err)
25	}
26	err = s.Start()
27	if err != nil {
28		panic(err)
29	}
30}