misc improvements
This commit is contained in:
parent
966730080c
commit
e88bf31634
9 changed files with 143 additions and 55 deletions
|
@ -1,11 +1,38 @@
|
|||
package config
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"gopkg.in/yaml.v2"
|
||||
|
||||
"git.janky.solutions/finn/conflib"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
DiskStoragePool string `default:"default"`
|
||||
Network string `default:"default"`
|
||||
StoragePool string `default:"default" yaml:"storage_pool"`
|
||||
Network string `yaml:"network"`
|
||||
Bridge string `yaml:"bridge"`
|
||||
}
|
||||
|
||||
var C = Config{
|
||||
DiskStoragePool: "default",
|
||||
Network: "default",
|
||||
var C Config
|
||||
|
||||
func Load() (err error) {
|
||||
loader := conflib.Loader[Config]{AllowNoSources: true}
|
||||
|
||||
C, err = loader.Load(filepath.Join(os.Getenv("HOME"), ".config", "mkvm.yaml"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if C.Network == "" && C.Bridge == "" {
|
||||
C.Network = "default"
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
conflib.RegisterParser(".yaml", func(target any, f io.Reader) error { return yaml.NewDecoder(f).Decode(target) })
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue