80 lines
2.4 KiB
Nix
80 lines
2.4 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
|
|
qtile-src = {
|
|
url = "github:qtile/qtile";
|
|
flake = false;
|
|
};
|
|
|
|
pywlroots = {
|
|
url = "path:pywlroots";
|
|
};
|
|
};
|
|
|
|
outputs = inputs@{ flake-parts, qtile-src, pywlroots, ... }:
|
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
|
systems = [ "x86_64-linux" ];
|
|
perSystem = { config, self', inputs', pkgs, system, ...}: {
|
|
packages.qtile = with pkgs; with pkgs.python3Packages; buildPythonPackage rec {
|
|
pname = "qtile";
|
|
version = "unstable-${inputs.qtile-src.lastModifiedDate}";
|
|
src = inputs.qtile-src;
|
|
SETUPTOOLS_SCM_PRETEND_VERSION = "0.23.0";
|
|
postPatch = ''
|
|
substituteInPlace libqtile/pangocffi.py \
|
|
--replace libgobject-2.0.so.0 ${pkgs.glib.out}/lib/libgobject-2.0.so.0 \
|
|
--replace libpangocairo-1.0.so.0 ${pkgs.pango.out}/lib/libpangocairo-1.0.so.0 \
|
|
--replace libpango-1.0.so.0 ${pkgs.pango.out}/lib/libpango-1.0.so.0
|
|
substituteInPlace libqtile/backend/x11/xcursors.py \
|
|
--replace libxcb-cursor.so.0 ${pkgs.xcb-util-cursor.out}/lib/libxcb-cursor.so.0
|
|
substituteInPlace libqtile/backend/wayland/cffi/cairo_buffer.py \
|
|
--replace drm_fourcc.h libdrm/drm_fourcc.h
|
|
substituteInPlace libqtile/backend/wayland/cffi/build.py \
|
|
--replace /usr/include/pixman-1 ${lib.getDev pkgs.pixman}/include \
|
|
--replace /usr/include/libdrm ${lib.getDev pkgs.libdrm}/include/libdrm
|
|
'';
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
setuptools-scm
|
|
setuptools
|
|
];
|
|
propagatedBuildInputs = [
|
|
xcffib
|
|
(cairocffi.override { withXcffib = true; })
|
|
python-dateutil
|
|
dbus-python
|
|
dbus-next
|
|
mpd2
|
|
psutil
|
|
pulsectl-asyncio
|
|
pyxdg
|
|
pygobject3
|
|
pywayland
|
|
inputs'.pywlroots.packages.default
|
|
xkbcommon
|
|
];
|
|
buildInputs = [
|
|
libinput
|
|
libxkbcommon
|
|
libdrm
|
|
wayland
|
|
xorg.xcbutilwm
|
|
(wlroots.overrideAttrs (wf: wp: {
|
|
postPatch =
|
|
wp.postPatch
|
|
+ ''
|
|
substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();"
|
|
'';
|
|
}))
|
|
];
|
|
makeWrapperArgs = [
|
|
"--suffix PATH : ${lib.makeBinPath [ mypy ]}"
|
|
];
|
|
doCheck = false;
|
|
};
|
|
};
|
|
};
|
|
}
|