                                                       "github") repo)
                                  (= (:username repo) selected-org-login)
                                  (gstring/caseInsensitiveContains (:name repo) repo-filter-string)))
-                    filtered-repos (->> repos (filter display?) (sort-by :pushed_at) (reverse))]
-                [:div (om/build repo-filter settings)
-                 (if (empty? filtered-repos)
-                   (if loading-repos?
-                     [:div.loading-spinner common/spinner]
-                     [:div.add-repos
-                      (if repo-filter-string
-                        (str "No matching repos for organization " selected-org-login)
-                        (str "No repos found for organization " selected-org-login))])
-                   [:ul.proj-list.list-unstyled
-                    (for [repo filtered-repos]
-                      (om/build repo-item {:repo repo :settings settings}))])])
+                    filtered-repos (->> repos (filter display?) (sort-by :pushed_at) (reverse))
+                    osx-repos (->> filtered-repos (filter repo-model/likely-osx-repo?))
+                    linux-repos (->> filtered-repos (remove repo-model/likely-osx-repo?))]
+                [:div
+                 (om/build repo-filter settings)
+                 (condp = selected-tab
+                   :linux
+                   (om/build repo-list {:repos (if (and osx-enabled? (pm/osx? selected-plan)) ; Allows mistaken ios repos to still be built.
+                                                 linux-repos
+                                                 filtered-repos)
+                                        :loading-repos? loading-repos?
+                                        :repo-filter-string repo-filter-string
+                                        :selected-org-login selected-org-login
+                                        :settings settings})
+
+                   :osx
+                   (om/build repo-list {:repos osx-repos
+                                        :loading-repos? loading-repos?
+                                        :repo-filter-string repo-filter-string
+                                        :selected-org-login selected-org-login
+                                        :settings settings}))])
               repos-explanation)]])))))
 
 (defn inaccessible-follows

                             :repos repos
                             :selected-org selected-org
                             :osx-enabled? (get-in data state/org-osx-beta-path)
                             :settings settings})
       [:hr]
       ;; This is a chain to get the organization that the user has clicked on and whether or not to show a payment plan upsell.

            [goog.string :as gstring]
            [goog.string.format]
            [om.core :as om :include-macros true]
            [om.dom :as dom :include-macros true]
            [frontend.models.plan :as pm])
  (:require-macros [cljs.core.async.macros :as am :refer [go go-loop alt!]]
                   [frontend.utils :refer [html defrender]]))

