Skip to content

Build Instructions for Arch Linux

Uri Herrera edited this page Feb 4, 2023 · 1 revision

Follow the instructions below to compile Maui Manager, MauiKit, MauiKit FileBrowsing, MauiKit Calendar, Maui Core, Cask Server, and Maui Shell in Arch Linux.

Build Dependencies

sudo pacman -S \
    akonadi-contacts \
    appstream \
    calendarsupport \
    cmake \
    eventviews \
    extra-cmake-modules \
    gcc make \
    git \
    kactivities \
    kactivities-stats \
    kcoreaddons \
    kdesu \
    kdoctools \
    ki18n \
    kidletime \
    kinit \
    kio \
    knotifications \
    knotifyconfig \
    kpeople \
    krunner \
    ktexteditor \
    kunitconversion \
    kwayland \
    libakonadi \
    phonon-qt5 \
    pkgconfig \
    qt5-base \
    qt5-quickcontrols2 \
    qt5-svg \
    qt5-systems

Build and Compile Maui Manager in Arch Linux

git clone --depth 1 --branch master https://invent.kde.org/maui/mauiman.git

mkdir -p mauiman/build && cd mauiman/build

cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BSYMBOLICFUNCTIONS=OFF \
    -DQUICK_COMPILER=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
    -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib ../

make -j$(nproc)

sudo make install

Build and Compile MauiKit in Arch Linux

git clone --depth 1 --branch master https://invent.kde.org/maui/mauikit.git

mkdir -p mauikit/build && cd mauikit/build

cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BSYMBOLICFUNCTIONS=OFF \
    -DQUICK_COMPILER=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
    -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
    -DCMAKE_PREFIX_PATH=/usr/lib/cmake/MauiMan ../

make -j$(nproc)

sudo make install

Build and Compile MauiKit FileBrowsing in Arch Linux

git clone --depth 1 --branch master https://invent.kde.org/maui/mauikit-filebrowsing.git

mkdir -p mauikit-filebrowsing/build && cd mauikit-filebrowsing/build

cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BSYMBOLICFUNCTIONS=OFF \
    -DQUICK_COMPILER=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
    -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
    -DCMAKE_PREFIX_PATH=/usr/lib/cmake/MauiKit ../

make -j$(nproc)

sudo make install

Build and Compile MauiKit Calendar in Arch Linux

git clone --depth 1 --branch master https://invent.kde.org/maui/mauikit-calendar.git

mkdir -p mauikit-calendar/build && cd mauikit-calendar/build

cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BSYMBOLICFUNCTIONS=OFF \
    -DQUICK_COMPILER=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
    -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
    -DCMAKE_PREFIX_PATH=/usr/lib/cmake/MauiKit ../

make -j$(nproc)

sudo make install

Build and Compile Maui Core in Arch Linux

git clone --depth 1 --branch main https://github.com/Nitrux/maui-core.git

mkdir -p maui-core/build && cd maui-core/build

cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BSYMBOLICFUNCTIONS=OFF \
    -DQUICK_COMPILER=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
    -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
    -DCMAKE_PREFIX_PATH=/usr/lib/cmake/MauiKit ../

make -j$(nproc)

sudo make install

Build and Compile Cask Server in Arch Linux

git clone --depth 1 --branch main https://github.com/Nitrux/cask-server.git

mkdir -p cask-server/build && cd cask-server/build

cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BSYMBOLICFUNCTIONS=OFF \
    -DQUICK_COMPILER=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
    -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
    -DCMAKE_PREFIX_PATH=/usr/lib/cmake/MauiKit ../

make -j$(nproc)

sudo make install

Build and Compile Maui Shell in Arch Linux

git clone --depth 1 --branch master https://github.com/Nitrux/maui-shell.git

mkdir -p maui-shell/build && cd maui-shell/build

cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BSYMBOLICFUNCTIONS=OFF \
    -DQUICK_COMPILER=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
    -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
    -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" \
    -DCMAKE_VERBOSE_MAKEFILE=ON \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
    -DCMAKE_PREFIX_PATH="/usr/lib/cmake/MauiMan;/usr/lib/cmake/MauiKit;/usr/lib/cmake/MauiKitFileBrowsing;/usr/lib/cmake/MauiKitCalendar;/usr/lib/cmake/MauiCore;/usr/lib/cmake/MauiCoreAudio;/usr/lib/cmake/MauiCoreNotifications;/usr/lib/cmake/MauiCorePower;/usr/lib/cmake/MauiCore;/usr/lib/cmake/CaskServer" ../

make -j$(nproc)

sudo make install

Maui Shell Runtime Dependencies

sudo pacman -S \
    bluedevil \
    bluez-qt \
    kirigami2 \
    plasma-nm \
    plasma-pa \
    qt5-quickcontrols2

Running Maui Shell

To run Maui Shell in an X11 session, run cask or cask -w for windowed mode.

To run Maui Shell in a Wayland session.

  • Add the following environment variables to your shell configuration if using the Nvidia proprietary driver.
GBM_BACKEND=nvidia-drm
__GLX_VENDOR_LIBRARY_NAME=nvidia

Then run cask or cask -w for windowed mode.