{ stdenv , lib , fetchFromGitHub , unstableGitUpdater , nixosTests , cmake , pkg-config , mir , libxkbcommon }: stdenv.mkDerivation (finalAttrs: { pname = "miriway"; version = "unstable-2023-11-22"; src = fetchFromGitHub { owner = "Miriway"; repo = "Miriway"; rev = "7d324c3d890b745a1d470ce085d91aaedf0fc6cf"; hash = "sha256-/pA24HSDco2uavIKb7t5DfGHwO7E/NANvLUMwZqnpQY="; }; strictDeps = true; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ mir libxkbcommon ]; passthru = { updateScript = unstableGitUpdater { }; providedSessions = [ "miriway" ]; tests = { inherit (nixosTests) miriway; }; }; meta = with lib; { description = "Mir based Wayland compositor"; longDescription = '' Miriway is a starting point for creating a Wayland based desktop environment using Mir. At the core of Miriway is miriway-shell, a Mir based Wayland compositor that provides: - A "floating windows" window managament policy; - Support for Wayland (and via Xwayland) X11 applications; - Dynamic workspaces; - Additional Wayland support for "shell components" such as panels and docs; and, - Configurable shortcuts for launching standard apps such as launcher and terminal emulator. In addition to miriway-shell, Miriway has: - A "terminal emulator finder" script miriway-terminal, that works with most terminal emulators; - A launch script miriway to simplify starting Miriway; - A default configuration file miriway-shell.config; and, - A greeter configuration miriway.desktop so Miriway can be selected at login Miriway has been tested with shell components from several desktop environments and there are notes on enabling these in miriway-shell.config. ''; homepage = "https://github.com/Miriway/Miriway"; license = licenses.gpl3Only; platforms = platforms.linux; maintainers = with maintainers; [ OPNA2608 ]; }; })