This repository has been archived on 2024-02-15. You can view files and clone it, but cannot push or open issues or pull requests.
config-mapper/internal/configuration/definition.go

48 lines
1.7 KiB
Go

package configuration
type Configuration struct {
Storage Storage `mapstructure:"storage" yaml:"storage"`
Files []OSLocation `mapstructure:"files" yaml:"files"`
Folders []OSLocation `mapstructure:"folders" yaml:"folders"`
PackageManagers PkgManagers `mapstructure:"package-managers" yaml:"package-managers"`
}
type OSLocation struct {
Darwin string `mapstructure:"darwin" yaml:"darwin"`
Linux string `mapstructure:"linux" yaml:"linux"`
}
type Storage struct {
Path string `mapstructure:"location" yaml:"location"`
Git Git `mapstructure:"git" yaml:"git"`
}
type Git struct {
URL string `mapstructure:"repository" yaml:"repository"`
Name string `mapstructure:"name" yaml:"name"`
Email string `mapstructure:"email" yaml:"email"`
BasicAuth BasicAuth `mapstructure:"basic-auth" yaml:"basic-auth"`
SSH interface{} `mapstructure:"ssh" yaml:"ssh"`
}
type BasicAuth struct {
Username string `mapstructure:"username" yaml:"username"`
Password string `mapstructure:"password" yaml:"password"`
}
type Ssh struct {
PrivateKey string `mapstructure:"private-key" yaml:"private-key"`
Passphrase string `mapstructure:"passphrase" yaml:"passphrase"`
}
type PkgManagers struct {
InstallationOrder []string `mapstructure:"installation-order" yaml:"installation-order"`
Brew []string `mapstructure:"brew" yaml:"brew"`
Apt []string `mapstructure:"apt" yaml:"apt"`
Cargo []string `mapstructure:"cargo" yaml:"cargo"`
Pip []string `mapstructure:"pip" yaml:"pip"`
Npm []string `mapstructure:"npm" yaml:"npm"`
Go []string `mapstructure:"go" yaml:"go"`
Nala []string `mapstructure:"nala" yaml:"nala"`
}