| audio | ||
| battery | ||
| capture | ||
| clock | ||
| credentials | ||
| display | ||
| fonts | ||
| fullscreen | ||
| fvwm | ||
| input | ||
| install | ||
| kde-compat | ||
| language | ||
| lock | ||
| notifications | ||
| packages | ||
| panel | ||
| ports | ||
| qt-style | ||
| session | ||
| switcher | ||
| terminal | ||
| tests | ||
| tray | ||
| wallpaper | ||
| xkb | ||
| .gitattributes | ||
| .gitignore | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
Xenolith
Xenolith is an X11-native desktop and workstation environment for FreeBSD. It aims to provide a fast, deterministic, hard-edged desktop built from explicit, reproducible components under the user's control.
Xenolith is a FreeBSD desktop project. Linux, systemd, and Wayland-first environments are outside its scope.
Status
Xenolith is in its initial development stage. The repository does not yet provide a complete desktop environment or a supported installer.
Direction
The intended environment combines:
- Xorg and/or XLibre as the display server;
- FVWM3 as the initial window-management substrate;
- KDE applications without the Plasma desktop shell;
- focused session and compatibility glue;
- custom panel, taskbar, desktop, and diagnostic utilities where needed; and
- reproducible installation, migration, and rollback tooling.
The interaction model is based on multiple workspaces containing normal stacking windows. Primary windows may be maximized by default, while manually sized and floating windows remain first-class. Automatic tiling is not the primary workflow.
Design principles
- X11 is a first-class, non-negotiable display protocol.
- Interaction should be immediate, predictable, and low-latency.
- Configuration belongs in source control instead of opaque mutable state.
- Components should be small, explicit, native, and easy to diagnose.
- KDE applications should receive only the services they actually require;
plasmashellandkwinare not part of a Xenolith session. - Visual design should favor square edges, strong borders, clear state, and an industrial workstation character over animation and decorative effects.
- Installation must be inspectable, safe to rerun, and explicit about system changes.
Target environment
FreeBSD is the authoritative runtime and integration-test platform. A separate development machine may be used to edit and deploy the repository, but runtime behavior must be validated on FreeBSD using FreeBSD-native facilities.
Installation
Xenolith installs onto an existing FreeBSD X11/XLibre desktop with:
./install.sh --user user
The installer intentionally does not install, replace, or configure an X
server or GPU driver. It preflights the patched Xenolith (z440) FVWM/tray
transaction and rejects any package plan that would introduce the
Xorg/NVIDIA legacy stack or mutate protected XLibre graphics packages. The
ordinary FreeBSD package set is explicitly installed from FreeBSD-ports; the
same guard applies to both repositories. z440 is used only for packages that
Xenolith intentionally carries as patched builds.
The VNC test-session component remains separate from a normal local desktop installation.
Project boundaries
Xenolith is a desktop/workstation environment, not a complete operating system or a general-purpose desktop distribution. It reuses FreeBSD and standalone Unix facilities where they solve a problem cleanly and adds custom code only where Xenolith requires distinct behavior.