diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/sw/sway-assign-cgroups/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/sw/sway-assign-cgroups/package.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/sw/sway-assign-cgroups/package.nix b/nixpkgs/pkgs/by-name/sw/sway-assign-cgroups/package.nix new file mode 100644 index 000000000000..c420a32cf37b --- /dev/null +++ b/nixpkgs/pkgs/by-name/sw/sway-assign-cgroups/package.nix @@ -0,0 +1,43 @@ +{ lib +, fetchFromGitHub +, python3Packages +}: + +python3Packages.buildPythonApplication rec { + pname = "sway-assign-cgroups"; + version = "0.4.0"; + src = fetchFromGitHub { + owner = "alebastr"; + repo = "sway-systemd"; + rev = "v${version}"; + sha256 = "sha256-wznYE1/lVJtvf5Nq96gbPYisxc2gWLahVydwcH1vwoQ="; + }; + format = "other"; + + propagatedBuildInputs = with python3Packages; [ dbus-next i3ipc psutil tenacity xlib ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp src/assign-cgroups.py $out/bin/ + runHook postInstall + ''; + + meta = with lib; { + description = "Place GUI applications into systemd scopes for systemd-oomd compatibility."; + longDescription = '' + Automatically assign a dedicated systemd scope to the GUI applications + launched in the same cgroup as the compositor. This could be helpful for + implementing cgroup-based resource management and would be necessary when + `systemd-oomd` is in use. + + Limitations: The script is using i3ipc window:new event to detect application + launches and would fail to detect background apps or special surfaces. + Therefore it's recommended to supplement the script with use of systemd user + services for such background apps. + ''; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ nickhu ]; + }; +} |