add current macos config

This commit is contained in:
Christoph Cullmann 2025-06-18 21:56:22 +02:00
parent 450f726cb1
commit a44a90e60b
No known key found for this signature in database
2 changed files with 159 additions and 0 deletions

View file

@ -0,0 +1,37 @@
global
# use the latest KF6 and Qt6-based software.
branch-group kf6-qt6
# we want .kateproject files with ninja, turn off some Qt 5 things to have less dependencies
cmake-options -G "Kate - Ninja" -DBUILD_WITH_QT6=ON -DQT_MAJOR_VERSION=6 -DPHONON_BUILD_QT5=OFF -DBUILD_QT5=OFF
# Restrict make and ninja to using no more than 8 separate compile jobs even
# when more CPU is available, to avoid running out of memory
make-options -j8 NINJAFLAGS=-j8
ninja-options -j8
# clangd tooling
compile-commands-export yes
compile-commands-linking yes
# flat structure
directory-layout flat
# Install directory for KDE software
install-dir ~/projects/kde/usr
# Directory for downloaded source code
source-dir ~/projects/kde/src
# Directory to build KDE into before installing
# relative to source-dir by default
build-dir ~/projects/kde/build
# Directory to write logs into
log-dir ~/projects/kde/log
# use distro stuff for that
ignore-modules wayland wayland-protocols gpgme appstream packagekit-qt polkit-qt-1 kglobalaccel kwallet
end global
include ${module-definitions-dir}/kf6-qt6.ksb

122
projects/kde/shell.nix.mac Normal file
View file

@ -0,0 +1,122 @@
with import <nixpkgs> {};
# dev env
stdenv.mkDerivation {
name = "clang-nix-shell";
# ensure the local KDE things are in path
shellHook = ''
export PATH=/Users/cullmann/projects/kde/usr/bin:/Users/cullmann/projects/kde:/Users/cullmann/projects/kde/src/kdesrc-build:$PATH
# LD_LIBRARY_PATH only needed if you are building without rpath
# export LD_LIBRARY_PATH=/Users/cullmann/projects/kde/usr/lib:/Users/cullmann/projects/kde/usr/lib64:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/Users/cullmann/projects/kde/usr/lib/plugins:/Users/cullmann/projects/kde/usr/lib64/plugins:${pkgs.qt6.qtbase.qtPluginPrefix}:${pkgs.lib.getBin pkgs.qt6.qtsvg}/${pkgs.qt6.qtbase.qtPluginPrefix}:${pkgs.lib.getBin pkgs.qt6.qtspeech}/${pkgs.qt6.qtbase.qtPluginPrefix}:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/Users/cullmann/projects/kde/usr/lib/qml:$QML2_IMPORT_PATH
export QT_QUICK_CONTROLS_STYLE_PATH=/Users/cullmann/projects/kde/usr/lib/qml/QtQuick/Controls.2/:/Users/cullmann/projects/kde/usr/lib64/qml/QtQuick/Controls.2/:$QT_QUICK_CONTROLS_STYLE_PATH
'';
# add all needed stuff to have a KDE KF6 Qt6 env
nativeBuildInputs = with pkgs; [
appstream
bison
boost
bzip2
clang-tools_17
cmake
ctags
curl
discount
djvulibre
docbook_xml_dtd_45
docbook_xsl_ns
doxygen
ebook_tools
exiv2
flex
giflib
gitFull
gperf
gpgme
graphviz
hunspell
hunspellDicts.en_US
intltool
isocodes
lcms2
libarchive
libcanberra
libgcrypt
libical
libjpeg
libjxl
libpcap
libpng
libraw
libsndfile
libspectre
libxml2
libxslt
libzip
lmdb
meson
llvmPackages_17.libclang.python # git-clang-format
ninja
openjpeg
pcre
perl
perlPackages.IOSocketSSL
perlPackages.JSONXS
perlPackages.NetDBus
perlPackages.URI
perlPackages.XMLParser
perlPackages.YAMLPP
python312Full
python312Packages.lxml
python312Packages.overrides
python312Packages.promise
python312Packages.pyaml
python312Packages.python-gitlab
python312Packages.setproctitle
python312Packages.multiprocess
pkg-config
qrencode
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.qtspeech
qt6.qtsvg
qt6.qttools
qt6.qttranslations
qt6.qtvirtualkeyboard
qt6.qtwebchannel
#qt6.qtwebengine
qt6.qtwebsockets
qt6.qtwebview
xercesc
xml2
xmlto
zlib
zstd
xz
];
}