lumina/shell.nix
2024-10-07 10:45:49 -05:00

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"
'';
}