crywl/flake.nix

63 lines
1.5 KiB
Nix

{
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;
[
# NativeBuildInputs
installShellFiles
pkg-config
wayland-scanner
# BuildInputs
libinput
xorg.libxcb
libxkbcommon
pixman
wayland
wayland-protocols
wlroots_0_19
]
++ lib.optionals enableXWayland
[
# 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'
'';
};
};
}