From 7dba97e4ea44f1b4ab9ce72963da4952e854fa00 Mon Sep 17 00:00:00 2001 From: Astro Date: Wed, 14 Sep 2022 23:43:43 +0200 Subject: [PATCH] flake.nix: provide other systems too --- flake.nix | 101 +++++++++++++++++++++++++++++------------------------- 1 file changed, 55 insertions(+), 46 deletions(-) diff --git a/flake.nix b/flake.nix index 422ad36..1716697 100644 --- a/flake.nix +++ b/flake.nix @@ -7,53 +7,62 @@ outputs = { self, naersk, nixpkgs, rust-overlay }: let - system = "x86_64-linux"; + systems = [ + "aarch64-linux" + "i686-linux" + "x86_64-linux" + ]; overlays = [ (import rust-overlay) ]; - pkgs = import nixpkgs { - inherit overlays system; - }; - rust-bin = pkgs.rust-bin.rust-nightly; - naersk-lib = naersk.lib.${system};#.override { - #cargo = rust-bin; - #rust = rust-bin; - # }; - build-deps = with pkgs; [ - lld - clang - pkg-config - makeWrapper - ]; - runtime-deps = with pkgs; [ - alsa-lib - udev - xorg.libX11 - xorg.libXcursor - xorg.libXrandr - xorg.libXi - xorg.libxcb - libGL - vulkan-loader - vulkan-headers - ]; in - { - packages.${system}.bevy_mandelbrot = naersk-lib.buildPackage { - pname = "bevy_mandelbrot"; - root = ./.; - buildInputs = runtime-deps; - nativeBuildInputs = build-deps; - overrideMain = attrs: { - fixupPhase = '' - wrapProgram $out/bin/bevy_mandelbrot \ - --prefix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath runtime-deps} \ - --set CARGO_MANIFEST_DIR $out/share/bevy_mandelbrot - mkdir -p $out/share/bevy_mandelbrot - cp -a assets $out/share/bevy_mandelbrot''; - }; - }; - defaultPackage.${system} = self.packages.${system}.bevy_mandelbrot; + builtins.foldl' (outputs: system: + let + pkgs = import nixpkgs { + inherit overlays system; + }; + rust-bin = pkgs.rust-bin.rust-nightly; + naersk-lib = naersk.lib.${system};#.override { + #cargo = rust-bin; + #rust = rust-bin; + # }; + build-deps = with pkgs; [ + lld + clang + pkg-config + makeWrapper + ]; + runtime-deps = with pkgs; [ + alsa-lib + udev + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXi + xorg.libxcb + libGL + vulkan-loader + vulkan-headers + ]; + in + nixpkgs.lib.recursiveUpdate outputs { + packages.${system}.bevy_mandelbrot = naersk-lib.buildPackage { + pname = "bevy_mandelbrot"; + root = ./.; + buildInputs = runtime-deps; + nativeBuildInputs = build-deps; + overrideMain = attrs: { + fixupPhase = '' + wrapProgram $out/bin/bevy_mandelbrot \ + --prefix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath runtime-deps} \ + --set CARGO_MANIFEST_DIR $out/share/bevy_mandelbrot + mkdir -p $out/share/bevy_mandelbrot + cp -a assets $out/share/bevy_mandelbrot + ''; + }; + }; + defaultPackage.${system} = self.packages.${system}.bevy_mandelbrot; - hydraJobs = builtins.mapAttrs (_: drv: { "${system}" = nixpkgs.lib.hydraJob drv; }) - self.packages.${system}; - }; + hydraJobs = builtins.mapAttrs (_: drv: { "${system}" = nixpkgs.lib.hydraJob drv; }) + self.packages.${system}; + } + ) {} systems; }