From 1883208cf654031b2cd9285030fc198595da38f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Thu, 30 Nov 2023 22:09:15 +0100 Subject: [PATCH] fix: Correct Nix shell for building correctly --- shell.nix | 132 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 76 insertions(+), 56 deletions(-) diff --git a/shell.nix b/shell.nix index d7f437af143..d039364d349 100644 --- a/shell.nix +++ b/shell.nix @@ -1,65 +1,85 @@ -{ pkgs ? import { } }: -with pkgs; - -let +{pkgs ? import {}}: +with pkgs; let inherit (lib) optional optionals; inherit (xorg) libX11 libXrandr libXinerama libXcursor libXi libXext; inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation IOKit Kernel OpenGL UniformTypeIdentifiers; - harfbuzzWithCoreText = harfbuzz.override { withCoreText = stdenv.isDarwin; }; + harfbuzzWithCoreText = harfbuzz.override {withCoreText = stdenv.isDarwin;}; in -with python3Packages; -mkShell rec { - buildInputs = [ - harfbuzzWithCoreText - ncurses - lcms2 - xxhash - ] ++ optionals stdenv.isDarwin [ - Cocoa - CoreGraphics - Foundation - IOKit - Kernel - OpenGL - UniformTypeIdentifiers - libpng - python3 - zlib - ] ++ lib.optionals (stdenv.isDarwin && (builtins.hasAttr "UserNotifications" darwin.apple_sdk.frameworks)) [ - darwin.apple_sdk.frameworks.UserNotifications - ] ++ optionals stdenv.isLinux [ - fontconfig libunistring libcanberra libX11 - libXrandr libXinerama libXcursor libxkbcommon libXi libXext - wayland-protocols wayland dbus - ] ++ checkInputs; + with python3Packages; + mkShell rec { + buildInputs = + [ + harfbuzzWithCoreText + ncurses + lcms2 + xxhash + ] + ++ optionals stdenv.isDarwin [ + Cocoa + CoreGraphics + Foundation + IOKit + Kernel + OpenGL + UniformTypeIdentifiers + libpng + python3 + zlib + ] + ++ lib.optionals (stdenv.isDarwin && (builtins.hasAttr "UserNotifications" darwin.apple_sdk.frameworks)) [ + darwin.apple_sdk.frameworks.UserNotifications + ] + ++ optionals stdenv.isLinux [ + fontconfig + libunistring + libcanberra + libX11 + libXrandr + libXinerama + libXcursor + libxkbcommon + libXi + libXext + wayland-protocols + wayland + openssl + xxHash + dbus + ] + ++ checkInputs; - nativeBuildInputs = [ - ncurses - pkg-config - sphinx - furo - sphinx-copybutton - sphinxext-opengraph - sphinx-inline-tabs - ] ++ optionals stdenv.isDarwin [ - imagemagick - libicns # For the png2icns tool. - ]; + nativeBuildInputs = + [ + ncurses + pkg-config + sphinx + furo + sphinx-copybutton + sphinxext-opengraph + sphinx-inline-tabs + ] + ++ optionals stdenv.isDarwin [ + imagemagick + libicns # For the png2icns tool. + ]; - propagatedBuildInputs = optional stdenv.isLinux libGL; + propagatedBuildInputs = optional stdenv.isLinux libGL; - checkInputs = [ - pillow - ]; + checkInputs = [ + pillow + ]; - # Causes build failure due to warning when using Clang - hardeningDisable = [ "strictoverflow" ]; + # Causes build failure due to warning when using Clang + hardeningDisable = ["strictoverflow"]; - shellHook = if stdenv.isDarwin then '' - export KITTY_NO_LTO= - '' else '' - export KITTY_EGL_LIBRARY='${lib.getLib libGL}/lib/libEGL.so.1' - export KITTY_STARTUP_NOTIFICATION_LIBRARY='${libstartup_notification}/lib/libstartup-notification-1.so' - export KITTY_CANBERRA_LIBRARY='${libcanberra}/lib/libcanberra.so' - ''; -} + shellHook = + if stdenv.isDarwin + then '' + export KITTY_NO_LTO= + '' + else '' + export KITTY_EGL_LIBRARY='${lib.getLib libGL}/lib/libEGL.so.1' + export KITTY_STARTUP_NOTIFICATION_LIBRARY='${libstartup_notification}/lib/libstartup-notification-1.so' + export KITTY_CANBERRA_LIBRARY='${libcanberra}/lib/libcanberra.so' + ''; + }