From 89f954eec92b5dd18beda93ab6f33532230184d6 Mon Sep 17 00:00:00 2001 From: Evan Burkey Date: Sun, 20 Jul 2025 11:32:41 -0700 Subject: [PATCH] cleanup --- README.md | 1 + config.go | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 37e6979..af58212 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ Download and extract the latest binary from the [releases](https://git.burkey.co 1. Run `epochcli`. You will be taken through a setup process that configures the program and creates a config file at `$HOME/.config/epochcli/config.toml` 2. You can now use `epochcli` as a standalone updater, but it can also act as a launcher based on your configuration. You can always run `epochcli -c` to redo the configuration, or edit the config file manually +3. By default, `epochcli` will delete any non-standard patches. This can be disabled by changing the configuration file's `RemoveUnknownPatches` value to `false` ## Usage ``` diff --git a/config.go b/config.go index e50631c..38f24b4 100644 --- a/config.go +++ b/config.go @@ -100,14 +100,16 @@ func setupConfig(rerun bool) (*Config, error) { file, err := os.Create(cfgPath) if err != nil { + file.Close() return nil, fmt.Errorf("unable to create config file: %v", err) } - defer file.Close() encoder := toml.NewEncoder(file) if err = encoder.Encode(newConfig); err != nil { + file.Close() return nil, fmt.Errorf("unable to encode config file: %v", err) } + file.Close() fmt.Printf("Created new config at %s\n\n", cfgPath) } @@ -117,6 +119,18 @@ func setupConfig(rerun bool) (*Config, error) { return nil, err } + // Rewrite config file with any new defaults + file, err := os.Create(cfgPath) + if err != nil { + return nil, fmt.Errorf("unable to config file: %v", err) + } + defer file.Close() + + encoder := toml.NewEncoder(file) + if err = encoder.Encode(newConfig); err != nil { + return nil, fmt.Errorf("unable to encode config file: %v", err) + } + return &newConfig, nil }