summaryrefslogtreecommitdiff
path: root/projects/kde/shell.nix
blob: f4592878aaef5d4829ddde995b30536103eaa249 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
with import <nixpkgs> {};

# use new clang
let myllvm = llvmPackages_17; in

# clang based dev env
myllvm.stdenv.mkDerivation {
  name = "clang-nix-shell";
  # ensure the local KDE things are in path
  shellHook = ''
export PATH=/home/cullmann/projects/kde/usr/bin:/home/cullmann/projects/kde:/home/cullmann/projects/kde/src/kdesrc-build:$PATH

# fix Qt tests for rcc
unset QT_RCC_SOURCE_DATE_OVERRIDE
unset SOURCE_DATE_EPOCH

# fix valgrind
export QT_ENABLE_REGEXP_JIT=0

export QT_PLUGIN_PATH=/home/cullmann/projects/kde/usr/lib/plugins:/home/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.qtwayland}/${pkgs.qt6.qtbase.qtPluginPrefix}:${pkgs.lib.getBin pkgs.qt6.qtspeech}/${pkgs.qt6.qtbase.qtPluginPrefix}:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/cullmann/projects/kde/usr/lib/qml:$QML2_IMPORT_PATH

export QT_QUICK_CONTROLS_STYLE_PATH=/home/cullmann/projects/kde/usr/lib/qml/QtQuick/Controls.2/:/home/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; [
    acl
    appstream
    attr
    bison
    boost
    bzip2
    clang-tools_17
    cmake
    ctags
    curl
    discount
    djvulibre
    docbook_xml_dtd_45
    docbook_xsl_ns
    doxygen
    ebook_tools
    exiv2
    flex
    gdb
    giflib
    gitFull
    gperf
    gpgme
    graphviz
    hunspell
    hunspellDicts.en_US
    intltool
    isocodes
    kdePackages.poppler
    lcms2
    libarchive
    libcanberra
    libcap
    libdisplay-info
    libepoxy
    libgcrypt
    libGL
    libical
    libinput
    libjpeg
    libjxl
    libnl
    libpcap
    libpng
    libraw
    libsecret
    libselinux
    libsndfile
    libspectre
    libva
    libxkbcommon
    libxml2
    libxslt
    libzip
    linux-pam
    lm_sensors
    lmdb
    mesa
    meson
    modemmanager
    myllvm.libclang.python # git-clang-format
    networkmanager
    ninja
    openal
    openjpeg
    openssl
    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
    pkg-config
    polkit
    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.qtwayland
    qt6.qtwebchannel
    qt6.qtwebengine
    qt6.qtwebsockets
    qt6.qtwebview
    qt6Packages.qgpgme
    udev
    util-linux
    valgrind
    wayland
    wayland-protocols
    wayland-scanner
    xcb-util-cursor
    xercesc
    xml2
    xmlto
    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
  ];
}