diff options
Diffstat (limited to 'internal/config/home.go')
| -rw-r--r-- | internal/config/home.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/internal/config/home.go b/internal/config/home.go new file mode 100644 index 0000000..8089b6e --- /dev/null +++ b/internal/config/home.go @@ -0,0 +1,22 @@ +package config + +import ( + "fmt" + "os" +) + +var userHomeDir = os.UserHomeDir + +// HomeDir returns the user's home directory. +// +// It falls back to "." when the home directory cannot be resolved so callers +// can still build a safe relative path instead of joining against an empty +// string. +func HomeDir() (string, error) { + homeDir, err := userHomeDir() + if err != nil { + return ".", fmt.Errorf("resolve home directory: %w", err) + } + + return homeDir, nil +} |
