{ lib , rustPlatform , fetchFromGitHub # lua54 implies lua52/lua53 , features ? [ "lua54" "luau" ] }: rustPlatform.buildRustPackage rec { pname = "stylua"; version = "0.18.1"; src = fetchFromGitHub { owner = "johnnymorganz"; repo = pname; rev = "v${version}"; sha256 = "sha256-R/GFAbaR/f3kO1n4jQyCPOkfG9fRubnuQy0VUg0NqKw="; }; cargoSha256 = "sha256-Ca6HNhdT5/CAI3qyzM7wBuCYYOPOHEyP+QyDia1csUo="; # remove cargo config so it can find the linker on aarch64-unknown-linux-gnu postPatch = '' rm .cargo/config.toml ''; buildFeatures = features; meta = with lib; { description = "An opinionated Lua code formatter"; homepage = "https://github.com/johnnymorganz/stylua"; changelog = "https://github.com/johnnymorganz/stylua/blob/v${version}/CHANGELOG.md"; license = licenses.mpl20; maintainers = with maintainers; [ figsoda ]; }; }