mitchellh/go-homedir

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

1,419

stars

33

commits

Go

primary language

Mar 21, 2024

updated

gist.github.com/mitchellh/90029601268e59a29e64e55bab1c5bdc

README

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.

Contributors

mitchellh

22 commits

sselph

2 commits

knu

1 commits

mitchellh/go-homedir

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

1,419

stars

33

commits

Go

primary language

Mar 21, 2024

updated

gist.github.com/mitchellh/90029601268e59a29e64e55bab1c5bdc

README

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.

Contributors

mitchellh

22 commits

sselph

2 commits

knu

1 commits

Languages

Go

100.0%