home.go

 1package fsext
 2
 3import (
 4	"cmp"
 5	"os"
 6	"os/user"
 7	"sync"
 8)
 9
10var HomeDir = sync.OnceValue(func() string {
11	u, err := user.Current()
12	if err == nil {
13		return u.HomeDir
14	}
15	return cmp.Or(
16		os.Getenv("HOME"),
17		os.Getenv("USERPROFILE"),
18		os.Getenv("HOMEPATH"),
19	)
20})