{ description = "DWL Development Shell"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; }; outputs = {nixpkgs, ...}: let system = "x86_64-linux"; enableXWayland = false; in { devShells."${system}".default = let pkgs = import nixpkgs { inherit system; }; lib = nixpkgs.lib; stdenv = pkgs.stdenv; in pkgs.mkShell { packages = with pkgs; [ # CryWL Build Utils gnumake bear # DWL - NativeBuildInputs installShellFiles pkg-config wayland-scanner # DWL - BuildInputs libinput xorg.libxcb libxkbcommon pixman wayland wayland-protocols wlroots_0_19 ] ++ lib.optionals enableXWayland [ # DWL - XWayland xorg.libX11 xorg.xcbutilwm xwayland ]; shellHook = let makeFlags = lib.strings.concatStringsSep " " ([ "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config" "WAYLAND_SCANNER=wayland-scanner" # "PREFIX=$(out)" # "MANDIR=$(man)/share/man" ] ++ lib.optionals enableXWayland [ ''XWAYLAND="-DXWAYLAND"'' ''XLIBS="xcb xcb-icccm"'' ]); in '' TERM=xterm-256color alias mk='${makeFlags} make' ''; }; }; }