89 lines
1.9 KiB
Nix
89 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
|
|
kdePackages.mpvqt
|
|
# kdePackages.kfilemetadata
|
|
# 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
|
|
sqlx-cli
|
|
cargo-watch
|
|
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"
|
|
'';
|
|
}
|