mirror of
https://github.com/onyx-dot-app/onyx.git
synced 2026-10-22 03:14:06 -05:00
15 lines
329 B
Go
15 lines
329 B
Go
//go:build unix
|
|
|
|
package resources
|
|
|
|
import "golang.org/x/sys/unix"
|
|
|
|
// DiskAvailableGB returns the free space at path in GB (-1 = unknown).
|
|
func DiskAvailableGB(path string) int {
|
|
var st unix.Statfs_t
|
|
if err := unix.Statfs(path, &st); err != nil {
|
|
return -1
|
|
}
|
|
return int(uint64(st.Bavail) * uint64(st.Bsize) / (1 << 30))
|
|
}
|