1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
{ lib
, stdenv
, fetchFromGitHub
, alacritty
, cage
, cairo
, libxkbcommon
, makeWrapper
, mesa
, meson
, ninja
, pkg-config
, udev
, unstableGitUpdater
, wayland
, wayland-protocols
, wlroots
, xwayland
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wio";
version = "unstable-2024-03-23";
src = fetchFromGitHub {
owner = "Rubo3";
repo = "wio";
rev = "a68fbaf0011610d55db0413ebb7aca6ff79a8dc3";
hash = "sha256-iQulldgYuz++ank2rOL92Ydj6IOiBtNEVEEcVOlhkMk=";
};
nativeBuildInputs = [
makeWrapper
meson
ninja
pkg-config
];
buildInputs = [
cairo
libxkbcommon
mesa
udev
wayland
wayland-protocols
wlroots
xwayland
];
strictDeps = false; # why is it so hard?
env.NIX_CFLAGS_COMPILE = "-Wno-error=maybe-uninitialized";
postInstall = ''
wrapProgram $out/bin/wio \
--prefix PATH ":" "${lib.makeBinPath [ alacritty cage ]}"
'';
passthru = {
providedSessions = [ "wio" ];
updateScript = unstableGitUpdater { };
};
meta = {
homepage = "https://github.com/Rubo3/wio";
description = "Wayland compositor similar to Plan 9's rio";
longDescription = ''
Wio is a Wayland compositor for Linux and FreeBSD which has a similar look
and feel to plan9's rio.
'';
license = with lib.licenses; [ bsd3 ];
mainProgram = "wio";
maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (wayland.meta) platforms;
};
})
|