From 5fead2ffa9c77818fdd6b29a8d45e6022fe71fd1 Mon Sep 17 00:00:00 2001 From: Lucas Garron Date: Wed, 20 Mar 2024 22:56:36 -0700 Subject: [PATCH 1/2] Default to `~/.config/gmailctl` for newly created config dirs This is a minimal fix for https://github.com/mbrt/gmailctl/issues/144 --- cmd/gmailctl/cmd/root_cmd.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cmd/gmailctl/cmd/root_cmd.go b/cmd/gmailctl/cmd/root_cmd.go index 884052ba..88d1afd7 100644 --- a/cmd/gmailctl/cmd/root_cmd.go +++ b/cmd/gmailctl/cmd/root_cmd.go @@ -51,7 +51,7 @@ func init() { // Here you will define your flags and configuration settings. // Cobra supports persistent flags, which, if defined here, // will be global for your application. - rootCmd.PersistentFlags().StringVar(&cfgDir, "config", "", "config directory (default is $HOME/.gmailctl)") + rootCmd.PersistentFlags().StringVar(&cfgDir, "config", "", "config directory (default is $HOME/.config/gmailctl unless $HOME/.gmailctl is already present)") } // initConfig reads in config file and ENV variables if set. @@ -65,6 +65,10 @@ func initConfig() { fmt.Println(err) os.Exit(1) } - cfgDir = path.Join(usr.HomeDir, ".gmailctl") + if _, err := os.Stat(path.Join(usr.HomeDir, ".gmailctl")); err != nil && os.IsNotExist(err) { + cfgDir = path.Join(usr.HomeDir, ".config", "gmailctl") + } else { + cfgDir = path.Join(usr.HomeDir, ".gmailctl") + } } } From 329f39b5705208e60b7c110f79c5fa833a34310a Mon Sep 17 00:00:00 2001 From: Lucas Garron Date: Fri, 22 Mar 2024 10:40:12 -0700 Subject: [PATCH 2/2] Update cmd/gmailctl/cmd/root_cmd.go --- cmd/gmailctl/cmd/root_cmd.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/gmailctl/cmd/root_cmd.go b/cmd/gmailctl/cmd/root_cmd.go index 88d1afd7..49975b37 100644 --- a/cmd/gmailctl/cmd/root_cmd.go +++ b/cmd/gmailctl/cmd/root_cmd.go @@ -51,7 +51,7 @@ func init() { // Here you will define your flags and configuration settings. // Cobra supports persistent flags, which, if defined here, // will be global for your application. - rootCmd.PersistentFlags().StringVar(&cfgDir, "config", "", "config directory (default is $HOME/.config/gmailctl unless $HOME/.gmailctl is already present)") + rootCmd.PersistentFlags().StringVar(&cfgDir, "config", "", "config directory (default search paths: $HOME/.gmailctl, $HOME/.config/gmailctl)") } // initConfig reads in config file and ENV variables if set.