{ description = "Rust example flake for Zero to Nix"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs"; rust-overlay.url = "github:oxalica/rust-overlay"; rust-overlay.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, rust-overlay }: let # Systems supported allSystems = [ "x86_64-linux" # 64-bit Intel/AMD Linux "aarch64-linux" # 64-bit ARM Linux "x86_64-darwin" # 64-bit Intel macOS "aarch64-darwin" # 64-bit ARM macOS ]; # Helper to provide system-specific attributes forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f { pkgs = import nixpkgs { inherit system; }; }); in { packages = forAllSystems ({ pkgs }: { default = let stdenv = pkgs.stdenv; lib = pkgs.lib; in pkgs.rustPlatform.buildRustPackage { pname = "pipewire-autoconnect"; version = "0.1"; src = ./.; LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib"; # doCheck = false; # RUST_BACKTRACE=1; buildInputs = with pkgs; [ pipewire libspatialaudio ]; nativeBuildInputs = with pkgs; [ pkg-config clang llvmPackages.libclang ]; cargoLock = { lockFile = ./Cargo.lock; }; #installPhase = '' # mkdir -p $out/bin # #cp ./target/release/pipewire-autoconnect $out/bin #''; }; }); }; }