Skip to content

Go library for detecting and expanding the user's home directory without cgo.

License

Notifications You must be signed in to change notification settings

anchore/go-homedir

 
 

Repository files navigation

go-homedir

This is a Go library for detecting the user's home directory without the use of cgo, so the library can be used in cross-compilation environments.

Usage is incredibly simple, just call homedir.Dir() to get the home directory for a user, and homedir.Expand() to expand the ~ in a path to the home directory.

Why not just use os/user? The built-in os/user package requires cgo on Darwin systems. This means that any Go code that uses that package cannot cross compile. But 99% of the time the use for os/user is just to retrieve the home directory, which we can do for the current user without cgo. This library does that, enabling cross-compilation.

Since forking from the archived upstream repo this does make use of os.UserHomeDir() but additionally leaves the existing methods (such as shelling out to other tooling) as fallback methods.

About

Go library for detecting and expanding the user's home directory without cgo.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 90.6%
  • Makefile 9.4%