1{ 2 inputs = { 3 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 4 flake-parts.url = "github:hercules-ci/flake-parts"; 5 rust-flake.url = "github:juspay/rust-flake"; 6 rust-flake.inputs.nixpkgs.follows = "nixpkgs"; 7 }; 8 9 outputs = 10 inputs@{ 11 nixpkgs, 12 flake-parts, 13 rust-flake, 14 ... 15 }: 16 flake-parts.lib.mkFlake { inherit inputs; } { 17 imports = [ 18 rust-flake.flakeModules.default 19 rust-flake.flakeModules.nixpkgs 20 ]; 21 systems = nixpkgs.lib.systems.flakeExposed; 22 perSystem = 23 { self', pkgs, ... }: 24 let 25 buildInputs = with pkgs; [ 26 ]; 27 nativeBuildInputs = with pkgs; [ 28 ]; 29 in 30 { 31 rust-project.crates.star-studio.crane.args = { 32 inherit buildInputs nativeBuildInputs; 33 }; 34 devShells.default = self'.devShells.rust.overrideAttrs (old: { 35 buildInputs = old.buildInputs ++ buildInputs; 36 nativeBuildInputs = old.nativeBuildInputs ++ nativeBuildInputs; 37 LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath (buildInputs ++ nativeBuildInputs); 38 }); 39 packages.default = self'.packages.star-studio; 40 }; 41 }; 42}