add kde dev envs

This commit is contained in:
Christoph Cullmann 2023-07-11 16:06:49 +02:00
parent d9081ebd0b
commit c43cd1b628
5 changed files with 287 additions and 0 deletions

View file

@ -423,6 +423,7 @@ in
texlive.combined.scheme-small texlive.combined.scheme-small
tigervnc tigervnc
tk tk
tokodon
usbutils usbutils
via via
vial vial

12
projects/kde/cleanup.sh Normal file
View file

@ -0,0 +1,12 @@
#!/bin/sh
# kill all old stuff
rm -rf ~/projects/kde/src ~/projects/kde/build ~/projects/kde/usr || exit 1
# get new kdesrc-build
mkdir -p ~/projects/kde/src || exit 1
cd ~/projects/kde/src || exit 1
git clone git@invent.kde.org:sdk/kdesrc-build.git || exit 1
# start from scratch
exec ./kdesrc-build/kdesrc-build --refresh-build --include-dependencies kate konsole

123
projects/kde/shell.nix Normal file
View file

@ -0,0 +1,123 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
# ensure this KDE things are in path
shellHook = ''
export PATH=/home/cullmann/projects/kde/build/kate/bin:/home/cullmann/projects/kde:/home/cullmann/projects/kde/src/kdesrc-build:/home/cullmann/projects/kde/usr/bin:$PATH
'';
# add all needed stuff to have a KDE KF5 Qt5 env
nativeBuildInputs = with pkgs; [
acl
appstream
attr
bison
boost
bzip2
clang-tools
cmake
docbook_xml_dtd_45
docbook_xsl_ns
flex
gdb
giflib
gitFull
gperf
gpgme
intltool
isocodes
lcms2
libcanberra
libcap
libclang.python
libepoxy
libgcrypt
libGL
libical
libinput
libjpeg
libjxl
libnl
libpcap
libpng
libselinux
libsForQt5.accounts-qt
libsForQt5.breeze-icons
libsForQt5.qca-qt5
libsForQt5.qtspeech
libsForQt5.signond
libsndfile
libxkbcommon
libxml2
libxslt
linux-pam
lm_sensors
lmdb
mesa
meson
networkmanager
ninja
openal
openssl
pcre
perl
perlPackages.IOSocketSSL
perlPackages.NetDBus
perlPackages.URI
perlPackages.XMLParser
perlPackages.YAMLSyck
python3Full
pkg-config
polkit
qrencode
qt5.qt3d
qt5.qtbase
qt5.qtcharts
qt5.qtconnectivity
qt5.qtdeclarative
qt5.qtdoc
qt5.qtimageformats
qt5.qtlottie
qt5.qtmultimedia
qt5.qtnetworkauth
qt5.qtquickcontrols
qt5.qtquickcontrols2
qt5.qtscxml
qt5.qtsensors
qt5.qtserialbus
qt5.qtserialport
qt5.qtsvg
qt5.qttools
qt5.qttranslations
qt5.qtvirtualkeyboard
qt5.qtwayland
qt5.qtwebchannel
qt5.qtwebengine
qt5.qtwebsockets
qt5.qtwebview
qt5.qtx11extras
udev
util-linux
valgrind
wayland
wayland-protocols
xcb-util-cursor
xercesc
xml2
xorg.libSM
xorg.libX11
xorg.libXau
xorg.libxcb
xorg.libxcvt
xorg.libXdmcp
xorg.libXext
xorg.libXfixes
xorg.xcbutil
xorg.xcbutilimage
xorg.xcbutilkeysyms
xorg.xcbutilwm
zlib
zstd
xz
];
}

12
projects/kde6/cleanup.sh Normal file
View file

@ -0,0 +1,12 @@
#!/bin/sh
# kill all old stuff
rm -rf ~/projects/kde6/src ~/projects/kde6/build ~/projects/kde6/usr || exit 1
# get new kdesrc-build
mkdir -p ~/projects/kde6/src || exit 1
cd ~/projects/kde6/src || exit 1
git clone https://invent.kde.org/sdk/kdesrc-build.git || exit 1
# start from scratch
exec ./kdesrc-build/kdesrc-build --rc-file=../kdesrc-buildrc --refresh-build --include-dependencies breeze konsole kate

139
projects/kde6/shell.nix Normal file
View file

@ -0,0 +1,139 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
# ensure this KDE things are in path
shellHook = ''
export PATH=/home/cullmann/projects/kde6/usr/bin:/home/cullmann/projects/kde6:/home/cullmann/projects/kde6/src/kdesrc-build:$PATH
# LD_LIBRARY_PATH only needed if you are building without rpath
# export LD_LIBRARY_PATH=/home/cullmann/projects/kde6/usr/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/cullmann/projects/kde6/usr/lib/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/cullmann/projects/kde6/usr/lib/qml:$QML2_IMPORT_PATH
export QT_QUICK_CONTROLS_STYLE_PATH=/home/cullmann/projects/kde6/usr/lib/qml/QtQuick/Controls.2/:$QT_QUICK_CONTROLS_STYLE_PATH
'';
# add all needed stuff to have a KDE KF6 Qt6 env
nativeBuildInputs = with pkgs; [
acl
appstream
attr
bison
boost
bzip2
clang-tools
cmake
docbook_xml_dtd_45
docbook_xsl_ns
flex
gdb
giflib
gitFull
gperf
gpgme
hunspell
hunspellDicts.en_US
intltool
isocodes
lcms2
libcanberra
libcap
libclang.python
libdisplay-info
libepoxy
libgcrypt
libGL
libical
libinput
libjpeg
libjxl
libnl
libpcap
libpng
libselinux
libsndfile
libva
libxkbcommon
libxml2
libxslt
linux-pam
lm_sensors
lmdb
mesa
meson
networkmanager
ninja
openal
openjpeg
openssl
pcre
perl
perlPackages.IOSocketSSL
perlPackages.NetDBus
perlPackages.URI
perlPackages.XMLParser
perlPackages.YAMLSyck
python3Full
python310Packages.pyaml
python310Packages.python-gitlab
pkg-config
polkit
qrencode
qt6.full
qt6.qt3d
qt6.qt5compat
qt6.qtbase
qt6.qtcharts
qt6.qtconnectivity
qt6.qtdatavis3d
qt6.qtdeclarative
qt6.qtdoc
qt6.qtimageformats
qt6.qtlanguageserver
qt6.qtlottie
qt6.qtmultimedia
qt6.qtnetworkauth
qt6.qtpositioning
qt6.qtquick3d
qt6.qtquicktimeline
qt6.qtremoteobjects
qt6.qtscxml
qt6.qtsensors
qt6.qtserialbus
qt6.qtserialport
qt6.qtshadertools
qt6.qtsvg
qt6.qttools
qt6.qttranslations
qt6.qtvirtualkeyboard
qt6.qtwayland
qt6.qtwebchannel
qt6.qtwebengine
qt6.qtwebsockets
qt6.qtwebview
udev
util-linux
valgrind
wayland
wayland-protocols
xcb-util-cursor
xercesc
xml2
xorg.libSM
xorg.libX11
xorg.libXau
xorg.libxcb
xorg.libxcvt
xorg.libXdmcp
xorg.libXext
xorg.libXfixes
xorg.xcbutil
xorg.xcbutilimage
xorg.xcbutilkeysyms
xorg.xcbutilwm
zlib
zstd
xz
];
}