Something went wrong. Try again.
A Wayland client for Zig 0.17 with no libwayland: protocol scanner, sans-I/O wire protocol, socket client, and presentation.
Something went wrong. Try again.
zig-wayland-native flake.nix
1.5 kB · 58 lines
Nix
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859# SPDX-FileCopyrightText: © 2026 Jeffrey C. Ollie <jeff@ocjtech.us># SPDX-License-Identifier: MIT
{ description = "A Wayland client written in Zig, with no libwayland";
inputs = { nixpkgs = { url = "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"; }; };
outputs = { nixpkgs, ... }:
let inherit (nixpkgs) lib; makePackages = system: import nixpkgs { inherit system; }; forAllSystems = lib.genAttrs lib.systems.flakeExposed; in { devShells = forAllSystems ( system: let pkgs = makePackages system; in { default = pkgs.mkShell { name = "zig-wayland-native"; nativeBuildInputs = [ pkgs.zig_0_17 pkgs.git-pages-cli pkgs.reuse # For trying the examples against a compositor that is not the # desktop: `weston --backend=headless`, and `wayland-info` to # compare what it advertises with what `run-globals` prints. # sway is there for explicit sync, which headless weston does # not offer and headless sway on GLES does. pkgs.sway pkgs.wayland-utils pkgs.weston ] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux [ pkgs.kcov pkgs.perf ]; }; } ); };}