package main import ( "fmt" "os" "strings" "git.annabunches.net/annabunches/joyful/internal/configparser" "git.annabunches.net/annabunches/joyful/internal/logger" flag "github.com/spf13/pflag" ) func getConfigDir(dir string) string { configDir := strings.ReplaceAll(dir, "~", "${HOME}") return os.ExpandEnv(configDir) } func main() { var configDir string flag.StringVarP(&configDir, "config", "c", "~/.config/joyful", "Directory to read configuration from.") flag.Parse() configDir = getConfigDir(configDir) config, err := configparser.ParseConfig(configDir) switch err.(type) { case *configparser.EmptyConfigError: config = &configparser.Config{} default: logger.FatalIfError(err, "Fatal error reading config") } fmt.Printf("Config: %v\n", config) }