package config import ( "path/filepath" "github.com/BurntSushi/toml" ) type WH40K struct { DataDir string `toml:"data_dir"` VideoPlayer []string `toml:"video_player"` } type Config struct { WH40K `toml:"wh40k"` } func Load(filename string) (*Config, error) { var out Config _, err := toml.DecodeFile(filename, &out) if err != nil { return nil, err } return &out, err } // TODO: case-insensitive lookup func (c *Config) DataFile(path string) string { return filepath.Join(c.DataDir, path) }