///|
fn mac_model(
name~ : String,
about~ : String,
host~ : String,
os~ : String,
device~ : String,
kernel~ : String,
resolution~ : Resolution?,
cpu~ : Cpu,
gpu~ : Gpu,
memory~ : Memory,
) -> DeviceModel {
{
name,
about,
host,
os,
device,
kernel,
uptime: { hours: 3, mins: 12 },
shell: "zsh 5.9",
resolution,
de: "Quartz Compositor",
wm: "Quartz Compositor",
wm_theme: "Aqua",
terminal: "Apple_Terminal",
term_font: "SF Mono 12",
cpu,
gpu,
memory,
logo: "macos",
}
}
///|
/// MacBook Pro 16" (2023), Apple M3 Max, 128 GB unified memory, 2 TB SSD.
fn m3_max_model() -> DeviceModel {
mac_model(
name="m3-max",
about="macOS MacBook Pro 16\" M3 Max 128 GB / 2 TB",
host="mbp16",
os="macOS 15.5 (Sequoia) 24F74 arm64",
device="MacBook Pro (Mac15,6)",
kernel="Darwin 24.5.0",
resolution=Some({ width: 3456, height: 2234 }),
cpu={ name: "Apple M3 Max", cores: 16, clock: 4.05 },
gpu=gpu_apple_m3_max,
memory={ used: 46.30, total: 128.00 },
)
}
///|
/// Mac Studio (2025), Apple M3 Ultra, 512 GB unified memory, 4 TB SSD.
fn m3_ultra_model() -> DeviceModel {
mac_model(
name="m3-ultra",
about="macOS Mac Studio M3 Ultra 512 GB / 4 TB",
host="studio",
os="macOS 15.5 (Sequoia) 24F74 arm64",
device="Mac Studio (Mac16,9)",
kernel="Darwin 24.5.0",
resolution=Some({ width: 5120, height: 2880 }),
cpu={ name: "Apple M3 Ultra", cores: 32, clock: 4.05 },
gpu=gpu_apple_m3_ultra,
memory={ used: 245.76, total: 512.00 },
)
}
///|
/// MacBook Pro 14" (2023), Apple M2 Pro, 32 GB unified memory, 1 TB SSD.
fn m2_pro_model() -> DeviceModel {
mac_model(
name="m2-pro",
about="macOS MacBook Pro 14\" M2 Pro 32 GB / 1 TB",
host="mbp14",
os="macOS 14.6 (Sonoma) 23G80 arm64",
device="MacBook Pro (Mac14,9)",
kernel="Darwin 23.6.0",
resolution=Some({ width: 3024, height: 1964 }),
cpu={ name: "Apple M2 Pro", cores: 12, clock: 3.50 },
gpu=gpu_apple_m2_pro,
memory={ used: 20.10, total: 32.00 },
)
}
///|
/// MacBook Air (M1, 2020), Apple M1, 8 GB unified memory, 512 GB SSD.
fn m1_air_model() -> DeviceModel {
mac_model(
name="m1-air",
about="macOS MacBook Air (M1) 8 GB / 512 GB",
host="mba",
os="macOS 13.6 (Ventura) 22G120 arm64",
device="MacBook Air (MacBookAir9,1)",
kernel="Darwin 22.6.0",
resolution=Some({ width: 2560, height: 1600 }),
cpu={ name: "Apple M1", cores: 8, clock: 3.20 },
gpu=gpu_apple_m1,
memory={ used: 5.40, total: 8.00 },
)
}