//go:build !linux package system import ( "os" "path/filepath" "strings" ) // IsMountPoint always returns true on non-Linux (assume OK for dev/testing). func IsMountPoint(_ string) bool { return true } // IsWritable checks if the given path is writable by attempting to create+remove a temp file. func IsWritable(path string) bool { testFile := filepath.Join(path, ".felhom-write-test") f, err := os.Create(testFile) if err != nil { return false } f.Close() os.Remove(testFile) return true } // PathsOverlap returns true if one path is a parent or child of the other. func PathsOverlap(a, b string) bool { a = filepath.Clean(a) b = filepath.Clean(b) if a == b { return true } aSep := a + string(os.PathSeparator) bSep := b + string(os.PathSeparator) return strings.HasPrefix(aSep, bSep) || strings.HasPrefix(bSep, aSep) } // DiskUsageInfo holds disk usage statistics for a path. type DiskUsageInfo struct { TotalGB float64 UsedGB float64 AvailGB float64 UsedPercent float64 TotalHuman string UsedHuman string } // GetDiskUsage returns nil on non-Linux. func GetDiskUsage(_ string) *DiskUsageInfo { return nil } // FSInfo holds filesystem type, device, and disk model info. type FSInfo struct { FSType string Device string Model string } // GetFSInfo returns nil on non-Linux. func GetFSInfo(_ string) *FSInfo { return nil }