mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2024-07-30 21:27:34 +00:00
7054ffd227
* Add missing libraries for video player * Pin qt6 package version to 6.6.3 Currently, this succesfully launches the program. Pinning qt seperatly allows the rest of unstable nixpkgs to be updated even after the qt package version has been bumped. This fixes vim failing to launch in the nix shell because of a bad gcc version. Bumping the package version to qt6.7.1 also will require bumping PySide to 6.7.1, otherwise it will fail to find qt. Qt 6.7.1 nixpkg commit is 47da0aee5616a063015f10ea593688646f2377e4 * fixup: Pin Qtcreator also QtCreator was still against nixpkgs not the specific qt variant.
85 lines
2.2 KiB
Nix
85 lines
2.2 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
qt6Nixpkgs = {
|
|
# Commit bumping to qt6.6.3
|
|
url = "github:NixOS/nixpkgs/f862bd46d3020bcfe7195b3dad638329271b0524";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, qt6Nixpkgs }:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
|
|
qt6Pkgs = qt6Nixpkgs.legacyPackages.x86_64-linux;
|
|
in {
|
|
devShells.x86_64-linux.default = pkgs.mkShell {
|
|
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [
|
|
pkgs.gcc-unwrapped
|
|
pkgs.zlib
|
|
pkgs.libglvnd
|
|
pkgs.glib
|
|
pkgs.stdenv.cc.cc
|
|
pkgs.fontconfig
|
|
pkgs.libxkbcommon
|
|
pkgs.xorg.libxcb
|
|
pkgs.freetype
|
|
pkgs.dbus
|
|
pkgs.zstd
|
|
# For PySide6 Multimedia
|
|
pkgs.libpulseaudio
|
|
pkgs.libkrb5
|
|
|
|
qt6Pkgs.qt6.qtwayland
|
|
qt6Pkgs.qt6.full
|
|
qt6Pkgs.qt6.qtbase
|
|
];
|
|
buildInputs = with pkgs; [
|
|
cmake
|
|
gdb
|
|
zstd
|
|
python312Packages.pip
|
|
python312Full
|
|
python312Packages.virtualenv # run virtualenv .
|
|
python312Packages.pyusb # fixes the pyusb 'No backend available' when installed directly via pip
|
|
|
|
libgcc
|
|
makeWrapper
|
|
bashInteractive
|
|
glib
|
|
libxkbcommon
|
|
freetype
|
|
binutils
|
|
dbus
|
|
coreutils
|
|
libGL
|
|
libGLU
|
|
fontconfig
|
|
xorg.libxcb
|
|
|
|
# this is for the shellhook portion
|
|
makeWrapper
|
|
bashInteractive
|
|
] ++ [
|
|
qt6Pkgs.qt6.qtbase
|
|
qt6Pkgs.qt6.full
|
|
qt6Pkgs.qt6.qtwayland
|
|
qt6Pkgs.qtcreator
|
|
|
|
# this is for the shellhook portion
|
|
qt6Pkgs.qt6.wrapQtAppsHook
|
|
];
|
|
# set the environment variables that Qt apps expect
|
|
shellHook = ''
|
|
export QT_QPA_PLATFORM=wayland
|
|
export LIBRARY_PATH=/usr/lib:/usr/lib64:$LIBRARY_PATH
|
|
# export LD_LIBRARY_PATH=${pkgs.stdenv.cc.cc.lib}/lib/:/run/opengl-driver/lib/
|
|
export QT_PLUGIN_PATH=${pkgs.qt6.qtbase}/${pkgs.qt6.qtbase.qtPluginPrefix}
|
|
bashdir=$(mktemp -d)
|
|
makeWrapper "$(type -p bash)" "$bashdir/bash" "''${qtWrapperArgs[@]}"
|
|
exec "$bashdir/bash"
|
|
'';
|
|
};
|
|
};
|
|
}
|