From 77ccf518d5201c21bb687e8d08cadb5cbce1382b Mon Sep 17 00:00:00 2001 From: Lunaphied Date: Thu, 26 Mar 2026 21:12:30 +0100 Subject: [PATCH] nix: minor improvements for the nix shell to modernize it (#1677) --- shell.nix | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/shell.nix b/shell.nix index 5978a87e..b0394620 100644 --- a/shell.nix +++ b/shell.nix @@ -1,30 +1,40 @@ -{ pkgs ? import (fetchTarball https://github.com/NixOS/nixpkgs/archive/24.05.tar.gz) {} }: +{ pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/25.11.tar.gz") {} }: let + inherit (pkgs) stdenv lib; + inherit (stdenv.hostPlatform) isDarwin; pythonPkgs = pkgs.python3Packages; boostPython = pkgs.boost.override { python = pythonPkgs.python; enablePython = true; }; in pkgs.mkShell { buildInputs = with pkgs; [ cmake + ninja eigen boostPython pythonPkgs.python pythonPkgs.apycula pkgs.qt6.qtbase + lld llvmPackages.openmp icestorm trellis - mold yosys clang - valgrind - cling gdb - ]; + sccache + ] ++ lib.optional (!isDarwin) valgrind; shellHook = '' export TRELLIS_INSTALL_PREFIX=${pkgs.trellis} export ICESTORM_INSTALL_PREFIX=${pkgs.icestorm} - export QT_QPA_PLATFORM_PLUGIN_PATH="${pkgs.qt6.qtbase.bin}/lib/qt-${pkgs.qt6.qtbase.version}/plugins"; + export QT_QPA_PLATFORM_PLUGIN_PATH="${pkgs.qt6.qtbase}/${pkgs.qt6.qtbase.qtPluginPrefix}" + + export CMAKE_C_COMPILER=clang + export CMAKE_CXX_COMPILER=clang++ + export CMAKE_C_COMPILER_LAUNCHER=sccache + export CMAKE_CXX_COMPILER_LAUNCHER=sccache + export CMAKE_LINKER_TYPE=LLD + export CMAKE_EXPORT_COMPILE_COMMANDS=ON + export CMAKE_GENERATOR=Ninja ''; }