{ description = "benchmarking languages with mandelbrot image generation"; inputs.nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; outputs = { self, nixpkgs }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; in { devShells.${system}.default = pkgs.mkShell { nativeBuildInputs = with pkgs; [ clang janet uiua-unstable ]; }; packages.${system} = { c = pkgs.stdenv.mkDerivation { name = "mandelbrot-c"; src = ./src; nativeBuildInputs = [ pkgs.clang ]; buildPhase = '' cc mandelbrot.c -o mandelbrot-c -lm ''; installPhase = '' mkdir -p $out/bin/ cp mandelbrot-c $out/bin/ ''; }; uiua = pkgs.stdenv.mkDerivation { name = "mandelbrot-uiua"; src = ./src; nativeBuildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.uiua-unstable ]; installPhase = '' mkdir -p $out/bin $out/share cp mandelbrot.ua $out/share makeWrapper ${pkgs.uiua-unstable}/bin/uiua \ $out/bin/mandelbrot-uiua \ --add-flags "run $out/share/mandelbrot.ua" ''; }; }; }; }