--- /dev/null
+(define (slurp ip)
+ (with-output-to-string
+ (lambda ()
+ (let f ()
+ (let ([c (read-char ip)])
+ (unless (eof-object? c)
+ (write-char c)
+ (f)))))))
+
+(define (trim s)
+ (if (<= (string-length s) 0)
+ s
+ (if (char-whitespace?
+ (string-ref s (- (string-length s) 1)))
+ (trim (substring s 0 (- (string-length s) 1)))
+ s)))
+
+(define host-os
+ (string->symbol
+ (string-downcase
+ (trim (slurp (car (process "uname")))))))
+