diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..fb6ba7d --- /dev/null +++ b/default.nix @@ -0,0 +1,92 @@ +{ + stdenv, + lib, + # qtx11extras, + # qttools, + # kglobalaccel, + # kinit, + # kwin, + # kio, + # kguiaddons, + # kcoreaddons, + # systemsettings, + gcc, + gnumake, + clang, + cmake, + extra-cmake-modules, + pkg-config, + wrapQtAppsHook, + qtbase, + qt5Full, + clang-tools, + qttools, + qtquickcontrols2, + qtx11extras, + qtmultimedia, + kirigami2, + ki18n, + kcoreaddons, + mpv +}: + +stdenv.mkDerivation rec { + pname = "Libre Presenter"; + version = "0.0.0"; + + nativeBuildInputs = [ + gcc + gnumake + clang + cmake + extra-cmake-modules + pkg-config + wrapQtAppsHook + # gccStdenv + # stdenv + ]; + + buildInputs = [ + clang-tools + qt5Full + qttools + qtquickcontrols2 + qtx11extras + qtmultimedia + kirigami2 + ki18n + kcoreaddons + mpv + # libsForQt5.kconfig + # ffmpeg-full + # yt-dlp + ]; + + # preConfigure = '' + # # local modulepath=$(kf5-config --install module) + # # local datapath=$(kf5-config --install data) + # # local servicespath=$(kf5-config --install services) + # # substituteInPlace CMakeLists.txt \ + # # --replace "\''${MODULEPATH}" "$out/''${modulepath#/nix/store/*/}" \ + # # --replace "\''${DATAPATH}" "$out/''${datapath#/nix/store/*/}" + + # # substituteInPlace CMakeLists.txt \ + # # --replace "\''${MODULEPATH}" "$out/qt-5.15.3/plugins" \ + # # --replace "\''${DATAPATH}" "$out/share" + # ''; + + # postConfigure = '' + # substituteInPlace cmake_install.cmake \ + # --replace "${kdelibs4support}" "$out" + + # ''; + + meta = with lib; { + name = "Libre Presenter"; + description = "A church presentation software made with QT/QML"; + homepage = ""; + license = licenses.gpl3; + maintainers = [ "chriscochrun" ]; + platforms = platforms.all; + }; +} diff --git a/shell.nix b/shell.nix index 9d5a888..e92e2c3 100644 --- a/shell.nix +++ b/shell.nix @@ -16,7 +16,8 @@ mkShell { ]; buildInputs = [ - qt5.qtbase + clang-tools + qt5.full qt5.qttools qt5.qtquickcontrols2 qt5.qtx11extras @@ -36,12 +37,12 @@ mkShell { # This creates the proper qt env so that plugins are found right. shellHook = '' - setQtEnvironment=$(mktemp --suffix .setQtEnvironment.sh) - echo "shellHook: setQtEnvironment = $setQtEnvironment" - makeWrapper "/bin/sh" "$setQtEnvironment" "''${qtWrapperArgs[@]}" - sed "/^exec/d" -i "$setQtEnvironment" - source "$setQtEnvironment" - QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins"; - fish + # setQtEnvironment=$(mktemp --suffix .setQtEnvironment.sh) + # echo "shellHook: setQtEnvironment = $setQtEnvironment" + # makeWrapper "/bin/sh" "$setQtEnvironment" "''${qtWrapperArgs[@]}" + # sed "/^exec/d" -i "$setQtEnvironment" + # source "$setQtEnvironment" + # addToSearchPath QT_QPA_PLATFORM_PLUGIN_PATH="${qt5.qtbase.bin}/lib/qt-${qt5.qtbase.version}/plugins"; + # export QML2_IMPORT_PATH=${libsForQt5.kirigami2}/lib/${builtins.replaceStrings ["full-"] [""] qt5.full.name}/qml ''; } diff --git a/src/main.cpp b/src/main.cpp index 845fdc3..dc5b88b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -60,6 +60,7 @@ static void connectToDatabase() { db.setHostName("localhost"); db.setDatabaseName(dbName); db.setUserName("presenter"); + // TODO change password system before launch db.setPassword("i393jkf782djyr98302j"); if (!db.open()) { qFatal("Cannot open database: %s", qPrintable(db.lastError().text())); @@ -84,7 +85,7 @@ int main(int argc, char *argv[]) #else QIcon::setFallbackThemeName("breeze"); QQuickStyle::setStyle(QStringLiteral("org.kde.desktop")); - QQuickStyle::setFallbackStyle(QStringLiteral("breeze")); + QQuickStyle::setFallbackStyle(QStringLiteral("Default")); #endif QGuiApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("system-config-display")));