|
143 | 143 | # Terminal emulator — launched from WM menu |
144 | 144 | xterm |
145 | 145 |
|
146 | | - # X11 client libraries |
| 146 | + # ── X11 client libraries ───────────────────────────────────────────── |
147 | 147 | xorg.libX11 |
148 | 148 | xorg.libXcursor |
149 | 149 | xorg.libxkbfile |
150 | 150 | xorg.libXrandr |
151 | 151 |
|
152 | | - # Graphics / rendering libraries |
153 | | - cairo # 2D vector graphics (libcairo2) |
154 | | - fontconfig # font configuration (libfontconfig) |
155 | | - freetype # font rendering (libfreetype6) |
156 | | - libGL # OpenGL (libegl1-mesa / libgl1-mesa) |
157 | | - mesa # Mesa 3D — provides llvmpipe software rasterizer for GLX on Xvfb |
158 | | - glew # OpenGL extension library (libglew2.2) |
159 | | - libGLU # OpenGL utility library (libglu1-mesa) |
160 | | - libtiff # TIFF image library (libtiff5) |
161 | | - |
162 | | - # D-Bus session bus — SNI tray icons (Electron, modern GTK) need it |
| 152 | + # ── Graphics / rendering ─────────────────────────────────────────── |
| 153 | + cairo |
| 154 | + fontconfig |
| 155 | + freetype |
| 156 | + vulkan-loader |
| 157 | + libGL |
| 158 | + mesa # llvmpipe software rasterizer for GLX on Xvfb |
| 159 | + glew |
| 160 | + libGLU |
| 161 | + libtiff |
| 162 | + |
| 163 | + # ── D-Bus / tray ─────────────────────────────────────────────────── |
163 | 164 | dbus |
164 | | - # SNI→XEmbed proxy — bridges modern tray icons (Wails, Electron, GTK3+) to IceWM's XEmbed tray |
165 | | - snixembed |
166 | | - |
167 | | - # GTK 3 — required by many GUI apps and dialogs |
168 | | - gtk3 |
| 165 | + snixembed # SNI→XEmbed proxy for IceWM tray |
| 166 | + |
| 167 | + # ── GTK4 / WebKit / Wails 3 build stack ──────────────────────────── |
| 168 | + # Runtime libraries |
| 169 | + pkg-config |
| 170 | + gtk4 |
| 171 | + webkitgtk_6_0 |
| 172 | + libsoup_3 |
| 173 | + |
| 174 | + # Dev headers (.pc files for CGo / native builds) |
| 175 | + gtk4.dev |
| 176 | + webkitgtk_6_0.dev |
| 177 | + glib.dev |
| 178 | + libsoup_3.dev |
| 179 | + cairo.dev |
| 180 | + pango.dev |
| 181 | + harfbuzz.dev |
| 182 | + gdk-pixbuf.dev |
| 183 | + graphene.dev |
| 184 | + libepoxy.dev |
| 185 | + vulkan-loader.dev |
| 186 | + xorg.xorgproto # X protocol headers — transitive dep of x11.pc |
| 187 | + xorg.libX11.dev |
| 188 | + xorg.libXrandr.dev |
| 189 | + xorg.libXi.dev |
| 190 | + xorg.libXcursor.dev |
| 191 | + libxkbcommon.dev |
| 192 | + wayland.dev |
169 | 193 |
|
170 | 194 | # wxWidgets GUI toolkit (libwxgtk3.2-1, libwxgtk-webview3.2-1) |
171 | 195 | wxGTK32 # wxWidgets 3.2.x; attribute = wxGTK32, pname = "wxwidgets" |
|
249 | 273 | # Mesa llvmpipe software rendering — headless container has no GPU. |
250 | 274 | # Paths go through the profile symlink (stable across generations) rather |
251 | 275 | # than hardcoded store hashes that break on rebuild. |
| 276 | + home.sessionVariables.PKG_CONFIG_PATH = "${config.home.profileDirectory}/lib/pkgconfig:${config.home.profileDirectory}/share/pkgconfig"; |
252 | 277 | home.sessionVariables.LIBGL_ALWAYS_SOFTWARE = "1"; |
253 | 278 | home.sessionVariables.GALLIUM_DRIVER = "llvmpipe"; |
254 | 279 | home.sessionVariables.LIBGL_DRIVERS_PATH = "${config.home.profileDirectory}/lib/dri"; |
|
0 commit comments