From 2d47b7db708357393d0ea618ce423b4be73857f8 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Tue, 17 Sep 2024 16:32:41 -0700 Subject: feat(rui): top-level configuration initialisation --- rui.go | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/rui.go b/rui.go index 3b0e9cd..6495408 100644 --- a/rui.go +++ b/rui.go @@ -10,6 +10,30 @@ import ( "github.com/urfave/cli/v2" ) +type Configuration struct { + Notify bool `json:"notify"` +} + +var configuration Configuration + +func init() { + configurationPath := os.Getenv("RUI_CONFIG") + + if configurationPath == "" { + configurationPath = os.Getenv("XDG_CONFIG_HOME") + "/rui/config.json" + } + + content, err := os.ReadFile(configurationPath) + + if err != nil { + return + } + + if err := json.Unmarshal(content, &configuration); err != nil { + return + } +} + func main() { (&cli.App{ Name: "rui", @@ -206,23 +230,7 @@ func Command(name string, args ...string) error { return cmd.Run() } -type Configuration struct { - Notify bool `json:"notify"` -} - func Notify(message string) error { - content, err := os.ReadFile(os.Getenv("XDG_CONFIG_HOME")) - - if err != nil { - return err - } - - var configuration Configuration - - if err := json.Unmarshal(content, &configuration); err != nil { - return err - } - notifySend, err := exec.LookPath("notify-send") if err != nil { -- cgit v1.2.3