mirror of
https://github.com/restic/restic.git
synced 2025-10-24 15:59:46 +00:00
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 is not
available on certain architectures such as i386 or PNaCl. Additionally
it has a cgo dependency 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.