Acer M5-481T fails Ghostty because Ivy Bridge HD 4000 tops out at OpenGL 4.2 in Mesa; Ghostty needs 4.3 — a generation ceiling, not a missing driver. Document that plus UEFI/x86_64, RAM, and storage floors (Nix store generations + BTRFS snapper + hibernate swap≈RAM). Linked from README, docs map, HARDWARE.md; #95 points here.
6.8 KiB
Minimum system requirements
What Nomarchy expects of a machine. This is a living floor, not a marketing sheet — numbers come from measured installs and known software floors (Ghostty, NixOS, the ISO). When a real machine pushes a bound, update this file in the same change.
Related: HARDWARE.md (profiles/drivers), TESTING.md (ISO/VM), README § install.
Supported platform (hard)
| Requirement | Floor | Why |
|---|---|---|
| Architecture | x86_64 | Only target the flake builds today |
| Firmware | UEFI | Installer uses systemd-boot; BIOS/legacy is LATER |
| Install path | Whole disk (disko) | No dual-boot / partial-disk path yet |
Graphics (default desktop)
The default terminal is Ghostty, which requires OpenGL 4.3 (desktop profile). That is a GPU generation limit, not a “driver not installed” problem:
| Generation (examples) | Typical max OpenGL (Mesa) | Default Ghostty |
|---|---|---|
| Ivy Bridge / HD 4000 (e.g. Acer Aspire M5-481T, ~2012) | 4.2 | Does not start (OpenGLOutdated) |
| Haswell and newer Intel iGPU, most AMD GCN+, discrete GPUs of the last decade | ≥ 4.3 | OK |
| Dell XPS 9350 (Skylake) | ≥ 4.3 | OK (verified 2026-07) |
Why 4.2 and not 4.3 on HD 4000? The silicon and Mesa’s feature set for that generation top out at OpenGL 4.2. No package upgrade on the distro can turn Ivy Bridge into a 4.3 device. Ghostty is choosing a modern GL baseline on purpose.
Until a fallback ships (BACKLOG #95 — alternate terminal or probe when GL < 4.3): machines below OpenGL 4.3 can still install and run the desktop, but SUPER+Return / the default terminal entry will fail until the user installs another terminal (e.g. kitty) or we ship an automatic fallback.
Other Wayland clients vary; Hyprland itself is usually fine on these GPUs. The Ghostty floor is the one that bit real hardware first.
CPU and memory
| Resource | Practical minimum | Comfortable |
|---|---|---|
| CPU | 64-bit x86_64, dual-core | Quad-core or better (rebuilds) |
| RAM | 8 GiB | 16 GiB+ |
NixOS + Home Manager rebuilds and browser/Electron apps are memory-hungry. Hibernation (default installer path) sizes a swapfile ≈ RAM, so low RAM also means less disk eaten by swap — but also less headroom when building.
Storage (the important one)
Nomarchy is a full NixOS desktop with:
- The Nix store — every generation keeps package closures; updates add new paths until you GC. Many packages appear once per generation when inputs move.
- Home Manager generations — desktop switches and
nomarchy-homeleave profiles behind until cleaned. - BTRFS + snapper —
@snapshotstimeline (hourly/daily) and pre-rebuild snaps. Excellent for recovery; they retain data and grow with how full the live filesystem is. - Optional hibernation swapfile — default size = RAM (e.g. 16 GiB RAM → 16 GiB swapfile on disk).
Closure size is not the same as disk use after hardlink optimisation and is not the ISO size (see ROADMAP § chromium / #121 measurements). Still, plan for growth, not for a single install footprint.
Measured / known artifacts (order of magnitude)
| Artifact | Size (approx.) | Source |
|---|---|---|
| Offline live ISO | ~8.1 GiB | Built image, 2026-07 (#103 era) |
| Template HM closure (nominal) | ~9.4 GiB | nix path-info style figures in ROADMAP |
| Desktop store weight (uncompressed, pre-dedupe order) | tens of GiB | ISO pin / offline pin analysis (#120) |
A fresh install on empty disk is smaller than a machine that has been updated and snapshotted for months.
Recommended free disk (whole-disk install)
These are planning floors for the target SSD/HDD the installer will wipe and use entirely — not “free space beside Windows.”
| Use | Capacity | Notes |
|---|---|---|
| Absolute minimum to finish install + first boot | ≥ 40 GiB | Tight; little room for GC delay or snapshots |
| Realistic daily driver | ≥ 64 GiB | Short GC/snap retention still required |
| Comfortable (updates + snapper + apps) | ≥ 128 GiB | Default recommendation |
| Power user / many generations / big apps | 256 GiB+ | Dev toolchains, Steam, local datasets |
Plus swap: if you keep hibernation (default), add ~RAM on top of the
table (installer creates /swap/swapfile sized to RAM unless you set 0).
Example: 16 GiB RAM laptop → plan ≥ 128 GiB disk, of which ~16 GiB is swapfile, leaving room for store + snapshots.
Why Nix “duplicates everything”
- Each system and home generation points at a closure of store
paths. Unchanged paths are shared (same
/nix/store/…hash); changed inputs pull new paths. After several updates you hold old + new untilnix-collect-garbage/ generation deletion. - Snapper snapshots the BTRFS subvolumes. A snapshot is cheap until you rewrite a lot of data; then it retains the old blocks. Timeline + rebuild snaps mean “I deleted that 2 GB download” may not free space until snaps expire.
- The live ISO is large because it pins an offline install closure; that is a download/USB cost, not permanent free space on the installed machine after install (the installed system has its own store).
Hygiene (user-facing, later doc links): delete old generations, run GC, tune snapper retention — see RECOVERY.md and the System › Recovery menu. This requirements page only states why the disk fills up.
What we explicitly do not require
| Non-requirement | Note |
|---|---|
| NVIDIA as first-class | Deferred past v1 (PROPOSED); community/docs only |
| Secure Boot enrolled out of the box | Not the current install path |
| Touch / tablet as primary input | Untested as a bar |
| < 8 GiB RAM as a supported target | May boot; rebuilds and browsers will thrash |
Machines that defined these bounds
| Machine | Role |
|---|---|
| Acer Aspire M5-481T (~2012, Intel HD 4000, OpenGL 4.2) | Ghostty floor (#95); install bake / old-HW QA |
| Dell XPS 9350 (Skylake) | Install bake (#123); Ghostty OK |
| AMD dev box / Latitude / T14s | Ongoing V3 (HARDWARE-QUEUE) |
When you install on something older or smaller than the table, file what
broke in agent/BACKLOG.md and tighten this page.
Related work
| Item | Topic |
|---|---|
| BACKLOG #95 | Ghostty fallback when OpenGL < 4.3 |
| BACKLOG #120 | Lighter netinstall ISO (download size ≠ installed size) |
| BACKLOG #123 | Installer HM pre-activate (first-boot polish) |
| BACKLOG #124 | Flake pin vs main/v1 lag after install |