summaryrefslogtreecommitdiff
path: root/devenv.nix
diff options
context:
space:
mode:
Diffstat (limited to 'devenv.nix')
-rw-r--r--devenv.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/devenv.nix b/devenv.nix
new file mode 100644
index 0000000..4820f3a
--- /dev/null
+++ b/devenv.nix
@@ -0,0 +1,49 @@
+{ pkgs, lib, config, inputs, ... }:
+
+{
+ env = {
+ CXXFLAGS = "-std=c++20";
+ PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig"; # Critical pour trouver OpenSSL
+ NIX_CFLAGS_COMPILE = "-arch arm64";
+ };
+
+ packages = with pkgs; [
+ git
+ gcc
+ cmake
+ clang-tools
+ openssl.dev # Inclure les headers de développement
+ zlib.dev
+ libopus
+ pkg-config
+ (stdenv.mkDerivation {
+ name = "dpp";
+ version = "latest";
+ src = fetchFromGitHub {
+ owner = "brainboxdotcc";
+ repo = "DPP";
+ rev = "c6bcab5b4632fe35e32e63e3bc813e9e2cd2893e";
+ sha256 = "sha256-IMESnvvjATgsKCDfrRY8bPxUYpiULIPFf6SToO7GbVM=";
+ };
+ nativeBuildInputs = [ cmake pkg-config ];
+ buildInputs = [ openssl zlib libopus ];
+ cmakeFlags = [
+ "-DCMAKE_CXX_STANDARD=20"
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DBUILD_TEST=OFF"
+ "-DBUILD_EXAMPLES=OFF"
+ ];
+ }) # Nécessaire pour détecter OpenSSL
+ ];
+
+ languages.go.enable = true;
+
+ scripts.build.exec = ''
+ mkdir -p bot/build
+ cd bot/build
+ cmake ..
+ make -j$NIX_BUILD_CORES
+ '';
+
+ # Supprimer la configuration brew inutile dans Nix
+}