package config import ( "os" "path/filepath" "github.com/spf13/viper" ) func Init() { viper.SetConfigName("config") viper.SetConfigType("json") configDir := filepath.Join(userConfigDir(), "mach") viper.AddConfigPath(configDir) viper.SetDefault("input_type", "md") viper.SetDefault("output_type", "rtf") _ = viper.ReadInConfig() // config file is optional } func userConfigDir() string { if dir, err := os.UserConfigDir(); err == nil { return dir } home, _ := os.UserHomeDir() return filepath.Join(home, ".config") }