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