package etc import ( "git.sr.ht/~cco/go-scopes" "git.sr.ht/~cco/go-scopes/common" "git.sr.ht/~cco/go-scopes/config" ) func Config() common.Config { ovr := Overrides().Use b := config.MakeBase cfg := scopes.Cfg{ Base: b("dummy", scopes.Start), Home: ovr(".", HOME), AppType: "standard", } cfg.Add(config.Cfg{b("config", config.Start), "etc"}) return &cfg } // collect here the names of fields that may be overridden via // explicit Override() or SCOPES_* environment settings. const ( HOME = "home" ) // in a production scenario this should be put in a separate // file `settings.go` that should not be stored in code repository. func Overrides() config.Settings { return config.Settings{ HOME: "tests", } }