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}