Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101{ description = "beamdev - a BEAM development MCP server for coding agents";
inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
crane.url = "github:ipetkov/crane";
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; };
outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ];
perSystem = { config, inputs', pkgs, ... }: let inherit (pkgs) lib;
cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
static = pkgs.stdenv.hostPlatform.isLinux; target = "${pkgs.stdenv.hostPlatform.qemuArch}-unknown-linux-musl";
rustToolchain = inputs'.rust-overlay.packages.rust.override ( lib.optionalAttrs static { targets = [ target ]; } );
craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rustToolchain;
commonArgs = { pname = cargoToml.package.name; inherit (cargoToml.package) version;
src = craneLib.cleanCargoSource ./.; strictDeps = true;
env = lib.optionalAttrs static { CARGO_BUILD_TARGET = target; CARGO_BUILD_RUSTFLAGS = "-C target-feature=+crt-static"; };
nativeBuildInputs = lib.optionals static [ pkgs.pkgsStatic.stdenv.cc ]; }; in { packages.beamdev = craneLib.buildPackage ( commonArgs // { cargoArtifacts = craneLib.buildDepsOnly commonArgs;
# The test suite drives real Erlang and Elixir nodes over # distribution, which the build sandbox cannot start. doCheck = false;
meta = { inherit (cargoToml.package) description; homepage = cargoToml.package.repository; license = lib.licenses.asl20; mainProgram = "beamdev"; }; } );
packages.default = config.packages.beamdev;
devShells.default = pkgs.mkShell { packages = [ pkgs.cargo pkgs.rustc pkgs.rustfmt pkgs.clippy pkgs.rust-analyzer pkgs.cargo-outdated pkgs.beamPackages.erlang pkgs.beamPackages.elixir ];
env.RUST_SRC_PATH = "${pkgs.rustPlatform.rustLibSrc}"; }; }; };}