Add OS type inference