Files
Nomarchy/docs/REQUIREMENTS.md
Bernardo Magri 545e40f4d9
Some checks failed
Check / eval (push) Has been cancelled
feat(terminal): Kitty only — drop Ghostty (#95)
Ghostty's OpenGL 4.3 floor broke the Acer (HD 4000 / 4.2). Dual-terminal
support (default Ghostty + install-time Kitty fallback) was more complexity
than it was worth.

- Remove ghostty.nix / nomarchy.ghostty.enable
- Kitty always installed and themed from theme-state
- Default nomarchy.terminal = kitty; SUPER+Return, doctor, calendar,
  what-changed use kitty --class=com.nomarchy.*
- Drop install-time glxinfo probe and mesa-demos on the installer
- Docs/REQUIREMENTS no longer list OpenGL 4.3 as a terminal floor

Verified: V0 flake check; option-docs; installer-safety; template HM has
kitty, no ghostty; menu/calendar emit classed kitty launches.
2026-07-15 09:51:27 +01:00

6.5 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 (NixOS, the ISO, desktop GPU). 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 sole terminal is Kitty (GPU-accelerated OpenGL, themed from theme-state). It runs on older integrated GPUs that reject Ghosttys OpenGL 4.3 floor — notably Intel HD 4000 / Ivy Bridge (Acer Aspire M5-481T reported OpenGL 4.2 and could not start Ghostty). That is why Nomarchy standardized on Kitty only: one terminal to theme, one set of classed windows (doctor / calendar), no dual-stack or GL probe at install.

Generation (examples) Notes
Ivy Bridge / HD 4000 (~2012) Supported with Kitty (verified path on Acer M5-481T)
Haswell+ Intel, modern AMD, discrete GPUs Supported
SoftGL / virtio-gpu VMs Hyprland needs GL for the session; Kitty is best-effort under softGL

Other Wayland clients vary; Hyprland itself is usually fine on these GPUs. A working GPU (or software GL for VMs) is still required for the desktop session — only the terminal no longer demands OpenGL 4.3.


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) Old-HW QA; drove Kitty-only terminal (#95)
Dell XPS 9350 (Skylake) Install bake (#123)
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 Kitty as sole terminal (shipped)
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