joyful/cmd/joyful-config/main.go

33 lines
779 B
Go

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)
}