diff --git a/pkgs/by-name/uw/uwsm/package.nix b/pkgs/by-name/uw/uwsm/package.nix new file mode 100644 index 000000000000..669cbd123a5a --- /dev/null +++ b/pkgs/by-name/uw/uwsm/package.nix @@ -0,0 +1,71 @@ +{ + stdenv, + lib, + fetchFromGitHub, + meson, + ninja, + scdoc, + pkg-config, + nix-update-script, + dmenu, + libnotify, + python3Packages, + util-linux, + fumonSupport ? true, + uuctlSupport ? true, + uwsmAppSupport ? true, +}: +let + python = python3Packages.python.withPackages (ps: [ + ps.pydbus + ps.dbus-python + ps.pyxdg + ]); +in +stdenv.mkDerivation (finalAttrs: { + pname = "uwsm"; + version = "0.17.0"; + + src = fetchFromGitHub { + owner = "Vladimir-csp"; + repo = "uwsm"; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-M2j7l5XTSS2IzaJofAHct1tuAO2A9Ps9mCgAWKEvzoE="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + scdoc + ]; + + buildInputs = [ + libnotify + util-linux + ] ++ (lib.optionals uuctlSupport [ dmenu ]); + + propagatedBuildInputs = [ python ]; + + mesonFlags = [ + "--prefix=${placeholder "out"}" + (lib.mapAttrsToList lib.mesonEnable { + "uwsm-app" = uwsmAppSupport; + "fumon" = fumonSupport; + "uuctl" = uuctlSupport; + "man-pages" = true; + }) + ]; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Universal wayland session manager"; + homepage = "https://github.com/Vladimir-csp/uwsm"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ johnrtitor ]; + platforms = lib.platforms.linux; + }; +})