kitty/shell.nix
Kovid Goyal 3968a86693
Some checks are pending
CI / Linux (python=3.13 cc=clang sanitize=1) (push) Waiting to run
CI / Linux (python=3.11 cc=gcc sanitize=0) (push) Waiting to run
CI / Linux (python=3.12 cc=gcc sanitize=1) (push) Waiting to run
CI / Linux package (push) Waiting to run
CI / Bundle test (macos-latest) (push) Waiting to run
CI / Bundle test (ubuntu-latest) (push) Waiting to run
CI / macOS Brew (push) Waiting to run
CI / Test ./dev.sh and benchmark (push) Waiting to run
Note that shader-slang is now a dependency
2026-06-28 09:08:37 +05:30

93 lines
2.5 KiB
Nix

{pkgs ? import <nixpkgs> {}}:
with pkgs; let
inherit (lib) optional optionals;
inherit (xorg) libX11 libXrandr libXinerama libXcursor libXi libXext;
harfbuzzWithCoreText = harfbuzz.override {withCoreText = stdenv.isDarwin;};
in
with python3Packages;
mkShell rec {
buildInputs =
[
harfbuzzWithCoreText
ncurses
lcms2
xxHash
simde
go
matplotlib
shader-slang
]
++ optionals stdenv.isDarwin [
libpng
zlib
]
++ optionals stdenv.isLinux [
fontconfig
libunistring
libcanberra
libX11
libXrandr
libXinerama
libXcursor
libxkbcommon
libXi
libXext
wayland-protocols
wayland
openssl
dbus
cairo #
]
++ lib.optionals stdenv.hostPlatform.isLinux [
wayland-scanner
]
++ checkInputs;
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;
checkInputs = [
pillow
];
# Causes build failure due to warning when using Clang
hardeningDisable = ["strictoverflow"];
shellHook =
if stdenv.isDarwin
then ''
export KITTY_NO_LTO=
# Add fonts by hand
if [ ! -e ./fonts/SymbolsNerdFontMono-Regular.ttf ]; then
mkdir -p ./fonts/
cp "${nerd-fonts.symbols-only}/share/fonts/truetype/NerdFonts/Symbols/SymbolsNerdFontMono-Regular.ttf" ./fonts/
fi
''
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'
export KITTY_FONTCONFIG_LIBRARY='${fontconfig.lib}/lib/libfontconfig.so'
# Add fonts by hand
if [ ! -e ./fonts/SymbolsNerdFontMono-Regular.ttf ]; then
mkdir -p ./fonts/
cp "${nerd-fonts.symbols-only}/share/fonts/truetype/NerdFonts/Symbols/SymbolsNerdFontMono-Regular.ttf" ./fonts/
fi
'';
}