aboutsummaryrefslogtreecommitdiff
path: root/common/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'common/config.go')
-rw-r--r--common/config.go12
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)
}