Simple, painless, zero-config configuration storage
go get -u github.com/atrox/store
# or with dep
dep ensure -add github.com/atrox/store
package main
import (
"fmt"
"github.com/atrox/store"
)
type Config struct {
Name string `yaml:"name"`
Age int `yaml:"age"`
}
func main() {
storage, err := store.New("testapp")
if err != nil {
panic(err)
}
config := &Config{
Name: "Dr. Robert Ford",
Age: 70,
}
err = storage.Save(config)
if err != nil {
panic(err)
}
fmt.Printf("config is now saved at %s\n", storage.Path(config))
// ~/.config/testapp/config.yaml
config = &Config{}
err = storage.Get(config)
if err != nil {
panic(err)
}
fmt.Printf("Config retrieved:\n%+v\n", config)
// &{Name:Dr. Robert Ford Age:70}
}
Everyone is encouraged to help improve this project. Here are a few ways you can help:
- Report bugs
- Fix bugs and submit pull requests
- Write, clarify, or fix documentation
- Suggest or add new features