Files
Nomarchy/docs/REQUIREMENTS.md
Bernardo Magri a09399702d
All checks were successful
Check / eval (push) Successful in 3m44s
docs: REQUIREMENTS.md — OpenGL 4.3 floor, disk/RAM planning
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.
2026-07-15 09:40:17 +01:00

6.8 KiB
Raw Blame History

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 Mesas 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:

  1. The Nix store — every generation keeps package closures; updates add new paths until you GC. Many packages appear once per generation when inputs move.
  2. Home Manager generations — desktop switches and nomarchy-home leave profiles behind until cleaned.
  3. BTRFS + snapper@snapshots timeline (hourly/daily) and pre-rebuild snaps. Excellent for recovery; they retain data and grow with how full the live filesystem is.
  4. 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.

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 until nix-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.


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