Overview
Vnyl is specified as a Fedora CoreOS-based immutable operating environment. The public website is intentionally minimal and informational. It does not build, host, mirror, or update Vnyl.
Naming rules
Public product name: Vnyl. The release codename may appear only as technical metadata: Release codename: Cogito. Do not use VnylOS, Vnyl OS, VNLY, Vnyl Linux, Cogito OS, or Vnyl Cogito as public product names.
Domain policy
vnyl.live is the canonical public domain, but it is only a landing and documentation surface. It must not be required by the ISO build, update flow, package repository, activation, telemetry, or mirror logic.
Architecture
Vnyl is constrained to Fedora CoreOS-compatible architecture: Butane, Ignition, rpm-ostree, systemd, SELinux, firewalld, NetworkManager, immutable /usr, and local RPM packages for Vnyl-owned /usr content.
Build workflow
The repository must build on a Fedora-compatible builder machine. Shared hosting is not part of the build path. The expected artifact is out/vnyl_v1.iso with checksum and validation reports. The public site must not upload, generate, or mutate build artifacts.
Packaging model
All Vnyl-owned files under /usr must be packaged into local RPMs and installed/layered during image composition. Butane should handle configuration, users, directories, and systemd enablement, not arbitrary runtime writes into /usr.
Security model
Vnyl targets SELinux Enforcing, firewalld default-deny behavior, root login disabled, SSH key-based access, no bundled secrets, no unauthenticated destructive dashboard actions, no public Samba/NFS exposure by default, and explicit install confirmations.
| Control | Expected state |
|---|---|
| SELinux | Enforcing |
| Firewall | Default deny, minimal allowed ports |
| SSH | Root login disabled, key-based access |
| Dashboard | No unauthenticated destructive endpoints |
Installer safety
The installer must never hardcode a disk target. It must show disk path, size, model, and serial when available. It must require the typed phrase DEPLOY VNYL before destructive writes.
Aesthetic and UX system
Vnyl uses a typographic wordmark layer separate from system UI typography. Public UI uses black, white, and alpha only. No icons, gradients, solid gray colors, emoji, or colored app logos are part of the design language.
Wordmark system
The wordmark is a brand object, not ordinary body text. It should use a legal display/logotype font layer, with separate optical sizing, spacing, and baseline rules from dashboard or documentation text.
Global language support
The Vnyl specification targets 30 languages, UTF-8 correctness, Noto fallback coverage, RTL layouts for Arabic/Persian/Hebrew/Urdu, and language selection before destructive installation actions.
Storage
The standard storage model is BTRFS-first. ZFS is optional and advanced. zfs-fuse must not be presented as a high-performance default. Vnyl-Vault is responsible for snapshot-oriented behavior.
Network
The host name is vnyl. mDNS may expose vnyl.local on LANs that support it. Tailscale is enabled as a service but must not authenticate automatically or include auth keys in the ISO.
Wine compatibility
Wine is a compatibility layer installed from Fedora packages where available. Vnyl does not include Windows, Microsoft DLLs, proprietary runtimes, cracks, loaders, or Windows applications.
Troubleshooting
If the dashboard is unreachable, check local network, firewalld, Caddy, mDNS, and whether the machine booted in CLI fallback. If the GUI fails, inspect DRM devices, monitor status, Hyprland logs, and hardware-handshake output.
vnyl healthcheck
systemctl status vnyl-dashboard.service
systemctl status firewalld.service
systemctl status avahi-daemon.service
journalctl -u vnyl-hardware-handshake.service -b
journalctl -u vnyl-sense.service -b
ZimaOS comparison
ZimaOS is generally positioned as a personal cloud and NAS-oriented environment. Vnyl is specified as a Fedora CoreOS-derived immutable hybrid desktop/server environment with a strict monochrome UX. This comparison should remain neutral and be checked against official ZimaOS documentation before public release.
Abuse and contact
Abuse reports should go to abuse@vnyl.live. Security reports should go to security@vnyl.live. General contact should go to contact@vnyl.live. Include logs, timestamps, affected addresses, and a concise reproduction or impact description.
Release checklist
Before a public release, confirm: ISO builds, checksums exist, validation report exists, no forbidden branding appears, no vnyl.io references exist, no Debian packaging assumptions exist, no icons or forbidden colors exist, and all public pages pass security-header checks.