diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/wayland/wlogout/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/wayland/wlogout/default.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/wayland/wlogout/default.nix b/nixpkgs/pkgs/tools/wayland/wlogout/default.nix new file mode 100644 index 000000000000..2be33bee6ac0 --- /dev/null +++ b/nixpkgs/pkgs/tools/wayland/wlogout/default.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, meson +, ninja +, scdoc +, gtk3 +, libxkbcommon +, wayland +, wayland-protocols +, gtk-layer-shell +# gtk-layer-shell fails to cross-compile due to a hard dependency +# on gobject-introspection. +# Disable it when cross-compiling since it's an optional dependency. +# This disables transparency support. +, withGtkLayerShell ? (stdenv.buildPlatform == stdenv.hostPlatform) +}: + +stdenv.mkDerivation rec { + pname = "wlogout"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "ArtsyMacaw"; + repo = "wlogout"; + rev = version; + sha256 = "cTscfx+erHVFHwwYpN7pADQWt5sq75sQSyXSP/H8kOs="; + }; + + strictDeps = true; + depsBuildBuild = [ pkg-config ]; + nativeBuildInputs = [ pkg-config meson ninja scdoc ]; + buildInputs = [ + gtk3 + libxkbcommon + wayland + wayland-protocols + ] ++ lib.optionals withGtkLayerShell [ + gtk-layer-shell + ]; + + postPatch = '' + substituteInPlace style.css \ + --replace "/usr/share/wlogout" "$out/share/${pname}" + + substituteInPlace main.c \ + --replace "/etc/wlogout" "$out/etc/${pname}" + ''; + + mesonFlags = [ + "--datadir=${placeholder "out"}/share" + "--sysconfdir=${placeholder "out"}/etc" + ]; + + meta = with lib; { + homepage = "https://github.com/ArtsyMacaw/wlogout"; + description = "A wayland based logout menu"; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.linux; + mainProgram = "wlogout"; + }; +} +# TODO: shell completions |