diff --git a/flake.nix b/flake.nix index 5690e76..0aa17a9 100644 --- a/flake.nix +++ b/flake.nix @@ -20,19 +20,9 @@ let pkgs = nixpkgs.legacyPackages.${system}; - # Erlang OTP 28 without wxwidgets (avoids gstreamer→hotdoc→clang chain) - erlang_28_headless = pkgs.beamPackages.erlang.override { - wxGTK32 = null; - libGL = null; - libGLU = null; - wrapGAppsHook3 = pkgs.buildEnv { name = "empty"; paths = []; }; - xorg = { libX11 = null; }; - }; - - # Elixir 1.20.0-rc.4 — not yet in nixpkgs; override elixir_1_19 against headless OTP 28 - elixir_1_20_rc4 = (pkgs.beamPackages.elixir_1_19.override { - erlang = erlang_28_headless; - }).overrideAttrs (_old: { + # Elixir 1.20.0-rc.4 — not yet in nixpkgs; override elixir_1_19 against cached OTP 28 + # Uses standard erlang (already in binary cache) to avoid full recompile + elixir_1_20_rc4 = pkgs.beamPackages.elixir_1_19.overrideAttrs (_old: { version = "1.20.0-rc.4"; src = pkgs.fetchFromGitHub { owner = "elixir-lang"; @@ -44,10 +34,10 @@ in { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ - elixir_1_20_rc4 # 1.20.0-rc.4 built from source against OTP 28 - erlang_28_headless # OTP 28.5, no wx/gui (headless server use) - nodejs_22 # Phoenix asset pipeline - inotify-tools # LiveReload on Linux + elixir_1_20_rc4 # 1.20.0-rc.4 built from source against OTP 28 + pkgs.beamPackages.erlang # OTP 28.5 (from binary cache) + nodejs_22 # Phoenix asset pipeline + inotify-tools # LiveReload on Linux ]; shellHook = ''