// backend/config.go package main import ( "path/filepath" "scm.bstein.dev/bstein/Pegasus/backend/internal" ) type appConfig struct { mediaRoot string userMapFile string tusDir string jf jellyfinClient } func loadAppConfig() appConfig { mediaRoot := env("PEGASUS_MEDIA_ROOT", "/media") return appConfig{ mediaRoot: mediaRoot, userMapFile: env("PEGASUS_USER_MAP_FILE", "/config/user-map.yaml"), tusDir: env("PEGASUS_TUS_DIR", filepath.Join(mediaRoot, ".pegasus-tus")), jf: internal.NewJellyfin(), } } var ( mediaRoot string userMapFile string tusDir string jf jellyfinClient ) var ( version = "dev" git = "" builtAt = "" ) func init() { cfg := loadAppConfig() mediaRoot = cfg.mediaRoot userMapFile = cfg.userMapFile tusDir = cfg.tusDir jf = cfg.jf }