lumina/shell.nix
Chris Cochrun 61aef5c48f Moving to QT6: Read more
QT6 Apparently means a lot of changes, these are the changes I've
found to make at least CPP build. The problem is we just got rid of a
lot of CPP and I don't know if the application will work. On the other
hand, the QML isn't finished yet either, but this is the start of
updating the application for QT6 and using MpvQt which is being built
and maintained by KDE. This will be better as they'll keep the library
updated for future QT updates so long as I still track with Kirigami.
2024-09-15 06:05:56 -05:00

85 lines
1.9 KiB
Nix

{ pkgs ? import <nixpkgs> { } }:
with pkgs;
mkShell rec {
name = "lumina";
nativeBuildInputs = [
# ffmpeg
gcc
];
buildInputs = [
stdenv
gnumake
gdb
qtcreator
cmake
kdePackages.extra-cmake-modules
pkg-config
qt6.wrapQtAppsHook
makeWrapper
openssl.dev
openssl.out
clang-tools
clang
libclang
# libwebp
# clang-format
qt6.qtbase
qt6.qttools
# qt6.qtquickcontrols2
# qt6.qtx11extras
qt6.qtmultimedia
qt6.qtwayland
qt6.qtwebengine
qt6.qtimageformats
kdePackages.kirigami
# libsForQt5.breeze-icons
# libsForQt5.breeze-qt5
kdePackages.qqc2-desktop-style
# libsForQt5.kirigami-addons
# libsForQt5.ki18n
# libsForQt5.kcoreaddons
# libsForQt5.kguiaddons
# libsForQt5.kconfig
# podofo
mpv
kdePackages.mpvqt
ffmpeg-full
# yt-dlp
# Rust tools
just
clippy
rustc
cargo
rustfmt
rust-analyzer
corrosion
];
# cargoDeps = rustPlatform.importCargoLock {
# lockFile = ./Cargo.lock;
# };
RUST_BACKTRACE = "1";
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
CMAKE_C_COMPILER = "${gcc}/bin/gcc";
CMAKE_CXX_COMPILER = "${gcc}/bin/g++";
CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG = true;
# QT_SCALE_FACTOR = 1;
# QT_PLUGIN_PATH="${QT_PLUGIN_PATH/':''/nix/store/85jx8w2nh1ln4kb0hf3dc6ky0dh6ri24-lightly-qt-0.4.1/lib/qt-5.15.9/plugins'':'/':'}"
# QML2_IMPORT_PATH=${QML2_IMPORT_PATH/':''/run/current-system/sw/lib/qt-5.15.10/qml'':'/':'}
# This creates the proper qt env so that plugins are found right.
shellHook = ''
setQtEnvironment=$(mktemp --suffix .setQtEnvironment.sh)
echo "shellHook: setQtEnvironment = $setQtEnvironment"
makeQtWrapper "/bin/sh" "$setQtEnvironment" "''${qtWrapperArgs[@]}"
sed "/^exec/d" -i "$setQtEnvironment"
source "$setQtEnvironment"
'';
}