diff options
Diffstat (limited to 'common/config.go')
| -rw-r--r-- | common/config.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/common/config.go b/common/config.go index 07cff8d..8cb74ab 100644 --- a/common/config.go +++ b/common/config.go @@ -56,9 +56,17 @@ func (c *Config) SetDefaultValues() { func LoadConfig(path string) (*Config, error) { b, err := os.ReadFile(path) + var cfg Config if err != nil { - return nil, err + if !os.IsNotExist(err) { + return nil, err + } + cfg.SetDefaultValues() + b, err := toml.Marshal(cfg) + if err != nil { + return nil, err + } + return nil, os.WriteFile(path, b, 0600) } - var cfg Config return &cfg, toml.Unmarshal(b, &cfg) } |
