all repos — searchix @ 14c1ddaf7c5468c5966b0c1585f19a5ff39c206d

Search engine for NixOS, nix-darwin, home-manager and NUR users

feat: enable setting config file path via command line

Alan Pearce
commit

14c1ddaf7c5468c5966b0c1585f19a5ff39c206d

parent

fbc4c583a4e2759d6b8cdbb98de2c769918ddac8

1 file changed, 17 insertions(+), 1 deletion(-)

changed files
M import/main.goimport/main.go
@@ -13,15 +13,31 @@ "searchix/internal/importer"
"searchix/internal/search" "strings" "time" + + "github.com/ardanlabs/conf/v3" ) const timeout = 30 * time.Minute +type Config struct { + ConfigFile string `conf:"short:c"` +} + func main() { if _, found := os.LookupEnv("DEBUG"); found { slog.SetLogLoggerLevel(slog.LevelDebug) } - cfg, err := config.GetConfig() + var runtimeConfig Config + help, err := conf.Parse("", &runtimeConfig) + if err != nil { + if errors.Is(err, conf.ErrHelpWanted) { + log.Println(help) + os.Exit(1) + } + log.Panicf("parsing runtime configuration: %v", err) + } + + cfg, err := config.GetConfig(runtimeConfig.ConfigFile) if err != nil { log.Fatal(err) }