2023-11-16 04:20:00 +00:00
|
|
|
{ lib, fetchFromGitHub, python3Packages }:
|
|
|
|
|
|
|
|
python3Packages.buildPythonApplication rec {
|
|
|
|
pname = "pyprland";
|
2024-02-07 01:22:34 +00:00
|
|
|
version = "1.8.7";
|
2023-11-16 04:20:00 +00:00
|
|
|
format = "pyproject";
|
|
|
|
|
|
|
|
disabled = python3Packages.pythonOlder "3.10";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "hyprland-community";
|
|
|
|
repo = "pyprland";
|
2024-01-25 14:12:00 +00:00
|
|
|
rev = "refs/tags/${version}";
|
2024-02-07 01:22:34 +00:00
|
|
|
hash = "sha256-6ne1wohpknxXpaLg29COM84pXUBKXBVH0jaLfypLtUo=";
|
2023-11-16 04:20:00 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = with python3Packages; [ poetry-core ];
|
|
|
|
|
|
|
|
postInstall = ''
|
|
|
|
# file has shebang but cant be run due to a relative import, has proper entrypoint in /bin
|
|
|
|
chmod -x $out/${python3Packages.python.sitePackages}/pyprland/command.py
|
|
|
|
'';
|
|
|
|
|
2024-02-07 01:22:34 +00:00
|
|
|
# NOTE: this is required for the imports check below to work properly
|
|
|
|
HYPRLAND_INSTANCE_SIGNATURE = "dummy";
|
|
|
|
|
2023-11-16 04:20:00 +00:00
|
|
|
pythonImportsCheck = [
|
|
|
|
"pyprland"
|
2024-02-07 01:22:34 +00:00
|
|
|
"pyprland.command"
|
2023-11-16 04:20:00 +00:00
|
|
|
"pyprland.common"
|
2024-02-07 01:22:34 +00:00
|
|
|
"pyprland.ipc"
|
2023-11-16 04:20:00 +00:00
|
|
|
"pyprland.plugins"
|
2024-02-07 01:22:34 +00:00
|
|
|
"pyprland.plugins.experimental"
|
|
|
|
"pyprland.plugins.expose"
|
2023-11-16 04:20:00 +00:00
|
|
|
"pyprland.plugins.interface"
|
2024-02-07 01:22:34 +00:00
|
|
|
"pyprland.plugins.layout_center"
|
|
|
|
"pyprland.plugins.lost_windows"
|
|
|
|
"pyprland.plugins.magnify"
|
|
|
|
"pyprland.plugins.monitors"
|
|
|
|
"pyprland.plugins.monitors_v0"
|
|
|
|
"pyprland.plugins.pyprland"
|
|
|
|
"pyprland.plugins.scratchpads"
|
|
|
|
"pyprland.plugins.shift_monitors"
|
|
|
|
"pyprland.plugins.toggle_dpms"
|
|
|
|
"pyprland.plugins.toggle_special"
|
|
|
|
"pyprland.plugins.workspaces_follow_focus"
|
2023-11-16 04:20:00 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
mainProgram = "pypr";
|
|
|
|
description = "An hyperland plugin system";
|
|
|
|
homepage = "https://github.com/hyprland-community/pyprland";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ iliayar ];
|
|
|
|
platforms = platforms.linux;
|
|
|
|
};
|
|
|
|
}
|