diff --git a/flake.nix b/flake.nix index f0096ff..83b03c8 100644 --- a/flake.nix +++ b/flake.nix @@ -6,30 +6,73 @@ }; outputs = { self, nixpkgs, flake-utils, rust-overlay , ...}: - flake-utils.lib.eachDefaultSystem (system: - let - overlays = [ (import rust-overlay) ]; - pkgs = import nixpkgs { - inherit system overlays; - }; - native-deps = with pkgs; [ - pkg-config pipewire lld clang libclang alsa-lib openssl zlib libxkbcommon libGL wayland mangohud - ]; - in - with pkgs; - { - devShells.default = mkShell { - buildInputs = with pkgs; [ - (rust-bin.stable.latest.default.override { - extensions = [ "rust-src" ]; - targets = ["x86_64-unknown-linux-gnu" "x86_64-pc-windows-gnu"]; - }) - cargo-bloat - pkgs.pkgsCross.mingwW64.buildPackages.gcc - ] ++ native-deps; - LD_LIBRARY_PATH = (lib.makeLibraryPath native-deps); - CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUSTFLAGS = "-L native=${pkgs.pkgsCross.mingwW64.windows.pthreads}/lib"; - }; - } - ); + let + overlays = [ (import rust-overlay ) ]; + in { + packages."x86_64-linux".default = + let + pkgs = import nixpkgs { + system = "x86_64-linux"; + inherit overlays; + }; + native-deps = with pkgs; [ + pkg-config pipewire lld clang libclang alsa-lib openssl zlib libxkbcommon libGL wayland mangohud + ]; + in + pkgs.mkShell { + buildInputs = with pkgs; [ + (rust-bin.stable.latest.default.override { + extensions = [ "rust-src" ]; + targets = ["x86_64-unknown-linux-gnu" "x86_64-pc-windows-gnu"]; + }) + cargo-bloat + pkgs.pkgsCross.mingwW64.buildPackages.gcc + ] ++ native-deps; + LD_LIBRARY_PATH = (pkgs.lib.makeLibraryPath native-deps); + CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUSTFLAGS = "-L native=${pkgs.pkgsCross.mingwW64.windows.pthreads}/lib"; + }; + packages."aarch64-darwin".default = + let + pkgs = import nixpkgs { + system = "aarch64-darwin"; + inherit overlays; + }; + native-deps = with pkgs; []; + in + pkgs.mkShell { + buildInputs = with pkgs; [ + (rust-bin.stable.latest.default.override { + extensions = [ "rust-src" ]; + targets = ["aarch64-apple-darwin" ]; + }) + cargo-bloat + ] ++ native-deps; + }; + }; + # flake-utils.lib.eachDefaultSystem (system: + # let + # overlays = [ (import rust-overlay) ]; + # pkgs = import nixpkgs { + # inherit system overlays; + # }; + # native-deps = with pkgs; [ + # pkg-config pipewire lld clang libclang alsa-lib openssl zlib libxkbcommon libGL wayland mangohud + # ]; + # in + # with pkgs; + # { + # devShells.default = mkShell { + # buildInputs = with pkgs; [ + # (rust-bin.stable.latest.default.override { + # extensions = [ "rust-src" ]; + # targets = ["x86_64-unknown-linux-gnu" "x86_64-pc-windows-gnu"]; + # }) + # cargo-bloat + # pkgs.pkgsCross.mingwW64.buildPackages.gcc + # ] ++ native-deps; + # LD_LIBRARY_PATH = (lib.makeLibraryPath native-deps); + # CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUSTFLAGS = "-L native=${pkgs.pkgsCross.mingwW64.windows.pthreads}/lib"; + # }; + # } + # ); }