        :model          (:hardwaremodel           facts)
        :os             (:operatingsystem         facts)
        :os-version     (:operatingsystemrelease  facts)
-       :ram-mb         ram-mb
-       :ram-gb         ram-gb
        :timezone       (:timezone                facts)
        :uptime-days    (:uptime_days             facts)
        :uptime-secs    (:uptime_seconds          facts)
        :uptime         (:uptime                  facts)
        :virtual        (:is_virtual              facts)}
+      (memory-details facts)
       (when ipv6
         {:ipv6 ipv6})))))
 

      (throw+ {:warning ::no-facter
               :msg "facter cannot be found in PATH"}))))

(s/defn inspect-system :- BuildSystem
  ([facter-fn :- clojure.lang.IFn]
   (let [facts (facter-fn)
         ram-mb (Float/parseFloat (:memorysize_mb facts))
         ram-gb (.setScale
                 (bigdec (/ ram-mb 1024)) 2
                 java.math.BigDecimal/ROUND_HALF_UP)
         ipv6 (:ipaddress6 facts)]
     (merge
      {:arch           (:architecture            facts)

            [schema.core :as s])
  (:require [clj-yaml.core :as yaml]
            [clojure.java.shell :as sh]
            [clojure.java.io :as io]
            [environ.core :as environ]
            [runbld.opts :as opts]
            [schema.core :as s]
