Installation
NixOS
oxwm is in nixpkgs. Add this to configuration.nix:
{ config, pkgs, ... }:
{
services.xserver.windowManager.oxwm.enable = true;
}Rebuild with sudo nixos-rebuild switch and pick oxwm in your display manager.
Flake
The oxwm repo is also a flake. It exports the package, a NixOS module and a Home Manager module.
{
inputs.oxwm.url = "github:tonybanters/oxwm";
}Import oxwm.nixosModules.default to get the same services.xserver.windowManager.oxwm options built from the latest source. Import oxwm.homeManagerModules.default to get programs.oxwm, which writes the Lua config for you from Nix options. The options live in hm.nix.
Arch Linux
Install oxwm-git from the AUR:
yay -S oxwm-gitThe package installs a session file, so display managers pick it up.
From source
You need Zig 0.16.0 or newer and the X11 development libraries. Lua is fetched and built by zig build, so you do not need it installed.
On Arch the dependencies are:
sudo pacman -S zig libx11 libxft freetype2 fontconfig libxinerama libinput systemd-libsOn other distros, install the same libraries with their development headers.
Then build and install:
git clone https://github.com/tonybanters/oxwm
cd oxwm
zig build -Doptimize=ReleaseSmall --prefix /usrIf you want the session file, the man page and the Lua type definitions installed too, use this instead:
zig build -Doptimize=ReleaseSmall install-systemIt asks for sudo and copies files to these paths:
| File | Path |
|---|---|
| Binary | /usr/bin/oxwm |
| Session entry | /usr/share/xsessions/oxwm.desktop |
| Man page | /usr/share/man/man1/oxwm.1 |
| Type definitions | /usr/share/oxwm/oxwm.lua |
zig build uninstall-system removes them again. Your config in ~/.config/oxwm is left alone.
Touchpad gestures
Swipe gestures for the scrolling layout use libinput and libudev. They are compiled in by default on Linux. To build without them:
zig build -Doptimize=ReleaseSmall -Dno_gesturesBSD
libinput gestures are Linux only, so the BSD build steps leave them out:
zig build freebsdopenbsd, netbsd and bsd do the same thing.
Starting oxwm
startx
Add this to ~/.xinitrc:
exec oxwmThen run startx.
Display manager
If the session file is installed, oxwm shows up in the session list of LightDM, GDM, SDDM and friends.
Next
Head to the quick start to create a config.