99 lines
No EOL
1.8 KiB
Nix
99 lines
No EOL
1.8 KiB
Nix
{
|
|
description = "svitak dev shell (GHC 9.12, GTK4, WebKit 6.0)";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/7b6142dae006";
|
|
};
|
|
|
|
outputs = { self, nixpkgs }: let
|
|
system = "x86_64-linux";
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
in {
|
|
devShells.${system}.default = pkgs.mkShell {
|
|
|
|
buildInputs = [
|
|
# Haskell toolchain
|
|
pkgs.haskell.compiler.ghc912
|
|
pkgs.cabal-install
|
|
|
|
# Build tools
|
|
pkgs.pkg-config
|
|
pkgs.zlib
|
|
pkgs.libsysprof-capture
|
|
pkgs.pcre2
|
|
pkgs.libxdmcp
|
|
pkgs.util-linux
|
|
pkgs.libselinux
|
|
pkgs.libsepol
|
|
pkgs.libpsl
|
|
pkgs.libnghttp2
|
|
pkgs.libnghttp2_asio
|
|
pkgs.nghttp2
|
|
pkgs.fribidi
|
|
pkgs.libthai
|
|
pkgs.libdatrie
|
|
pkgs.libdeflate
|
|
pkgs.lerc
|
|
pkgs.liblzma
|
|
|
|
# GTK stack
|
|
pkgs.gtk4
|
|
pkgs.webkitgtk_6_0
|
|
pkgs.libsoup_3
|
|
pkgs.glib
|
|
pkgs.gobject-introspection
|
|
pkgs.gdk-pixbuf
|
|
pkgs.cairo
|
|
pkgs.pango
|
|
pkgs.atk
|
|
|
|
# X11 runtime
|
|
pkgs.xorg.libX11
|
|
pkgs.xorg.libXext
|
|
pkgs.xorg.libXcursor
|
|
pkgs.xorg.libXrandr
|
|
pkgs.xorg.libXrender
|
|
pkgs.xorg.libXfixes
|
|
pkgs.xorg.libXcomposite
|
|
pkgs.xorg.libXdamage
|
|
pkgs.xorg.libXScrnSaver
|
|
pkgs.xorg.libICE
|
|
pkgs.xorg.libSM
|
|
|
|
# Optional but common
|
|
pkgs.sqlite
|
|
];
|
|
|
|
shellHook = ''
|
|
echo "Entering svitak dev shell (GHC 9.12 + GTK4 + WebKit6)"
|
|
unset GHC_PACKAGE_PATH
|
|
|
|
# Haskell GI needs pkg-config for gobject-introspection
|
|
export PKG_CONFIG_PATH=${pkgs.gobject-introspection}/lib/pkgconfig
|
|
|
|
# Runtime libraries
|
|
export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath [
|
|
pkgs.webkitgtk_6_0
|
|
pkgs.libsoup_3
|
|
pkgs.gtk4
|
|
pkgs.glib
|
|
pkgs.gobject-introspection
|
|
pkgs.gdk-pixbuf
|
|
pkgs.cairo
|
|
pkgs.pango
|
|
pkgs.xorg.libX11
|
|
pkgs.xorg.libXext
|
|
pkgs.xorg.libXcursor
|
|
pkgs.xorg.libXrandr
|
|
pkgs.xorg.libXrender
|
|
pkgs.xorg.libXfixes
|
|
pkgs.xorg.libXcomposite
|
|
pkgs.xorg.libXdamage
|
|
pkgs.xorg.libXScrnSaver
|
|
pkgs.xorg.libICE
|
|
pkgs.xorg.libSM
|
|
]}:$LD_LIBRARY_PATH
|
|
'';
|
|
};
|
|
};
|
|
} |