nt

A sensible note-taking program
git clone git://git.laack.co/nt.git
Log | Files | Refs | README

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:
Ago.mod | 3+++
Amain.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) +}