# HG changeset patch
# User Christophe de Vienne <christophe@cdevienne.info>
# Date 1740050108 -3600
#      Thu Feb 20 12:15:08 2025 +0100
# Node ID 81a893c247dff28bf4582e0afcd6ddd414727f6f
# Parent  17d9acf1dbd29a5be521ecb335d05347392c6ddf
generate-config: defaults to 'stdout'

diff --git a/cmd/rednerd/cmd/configfile.go b/cmd/rednerd/cmd/configfile.go
--- a/cmd/rednerd/cmd/configfile.go
+++ b/cmd/rednerd/cmd/configfile.go
@@ -2,13 +2,15 @@
 
 import (
 	"fmt"
+	"io"
+	"os"
 
 	flags "github.com/orus-io/go-flags"
 )
 
 // ConfigWrite is a command that generates a configuration file.
 type ConfigWrite struct {
-	Output string `short:"o" long:"output" default:"config.ini" no-ini:"t" description:"output file"`
+	Output string `short:"o" long:"output" default:"-" no-ini:"t" description:"output file"`
 
 	parser *flags.Parser
 }
@@ -22,7 +24,22 @@
 func (c *ConfigWrite) Execute([]string) error {
 	fp := flags.NewIniParser(c.parser)
 
-	return fp.WriteFile(c.Output, flags.IniIncludeDefaults|flags.IniCommentDefaults|flags.IniDefault)
+	var output io.Writer
+	if c.Output == "-" {
+		output = os.Stdout
+	} else {
+		f, err := os.Create(c.Output)
+		if err != nil {
+			return err
+		}
+		defer f.Close()
+
+		output = f
+	}
+
+	fp.Write(output, flags.IniIncludeDefaults|flags.IniCommentDefaults|flags.IniDefault)
+
+	return nil
 }
 
 func parseFile(parser *flags.Parser) func(string) error {