streamlink: 7.1.1 -> 7.1.2 (#373269)
[NixPkgs.git] / pkgs / by-name / sw / sway-assign-cgroups / package.nix
blob31479315cd0d47c3ce94572eb599fac98cfd40e9
2   lib,
3   fetchFromGitHub,
4   python3Packages,
5 }:
7 python3Packages.buildPythonApplication rec {
8   pname = "sway-assign-cgroups";
9   version = "0.4.1";
10   src = fetchFromGitHub {
11     owner = "alebastr";
12     repo = "sway-systemd";
13     tag = "v${version}";
14     hash = "sha256-AJ87/sPy8IVJgb5YehfUfNTOFEDithLfiTxgZfZf238=";
15   };
16   format = "other";
18   propagatedBuildInputs = with python3Packages; [
19     dbus-next
20     i3ipc
21     psutil
22     tenacity
23     xlib
24   ];
26   installPhase = ''
27     runHook preInstall
28     mkdir -p $out/bin
29     cp src/assign-cgroups.py $out/bin/
30     runHook postInstall
31   '';
33   meta = with lib; {
34     description = "Place GUI applications into systemd scopes for systemd-oomd compatibility";
35     mainProgram = "assign-cgroups.py";
36     longDescription = ''
37       Automatically assign a dedicated systemd scope to the GUI applications
38       launched in the same cgroup as the compositor. This could be helpful for
39       implementing cgroup-based resource management and would be necessary when
40       `systemd-oomd` is in use.
42       Limitations: The script is using i3ipc window:new event to detect application
43       launches and would fail to detect background apps or special surfaces.
44       Therefore it's recommended to supplement the script with use of systemd user
45       services for such background apps.
46     '';
47     license = licenses.mit;
48     platforms = platforms.linux;
49     maintainers = with maintainers; [ nickhu ];
50   };