commit 8f8624b0c23bd0c1905cb58c9079482fccab7104
parent 9ddc401745afcf57584605043aaa17367a2240a4
Author: Andrew Laack <andrew@laack.co>
Date: Fri, 15 May 2026 16:59:25 -0500
Started working on note taking; started with confg loading
Diffstat:
| A | go.mod | | | 3 | +++ |
| A | main.go | | | 56 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 files changed, 59 insertions(+), 0 deletions(-)
diff --git a/go.mod b/go.mod
@@ -0,0 +1,3 @@
+module nt
+
+go 1.26.3
diff --git a/main.go b/main.go
@@ -0,0 +1,56 @@
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "log"
+ "os"
+)
+
+type Config struct {
+ Dirs []string `json:"dirs"`
+}
+
+func readConfig() Config {
+ configBase, err := os.UserConfigDir()
+
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ appConfigDir := configBase + "/nt/"
+
+ fmt.Println(configBase)
+ fmt.Println(appConfigDir)
+
+ err = os.MkdirAll(appConfigDir, 0755)
+
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ configFilePath := appConfigDir + "config.json"
+ configFileData, err := os.ReadFile(configFilePath)
+
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ configuration := &Config{
+ Dirs: []string{"$HOME/.notes"},
+ }
+
+ err = json.Unmarshal(configFileData, configuration)
+
+ if err != nil {
+ log.Fatal(err)
+ }
+ return *configuration
+}
+
+func main() {
+
+ // TODO: Ensure all configuration fields are filled in, always in the config
+ conf := readConfig()
+ fmt.Println(conf.Dirs)
+}