summary refs log tree commit diff
path: root/pkgs/development/tools/stylua
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/stylua')
-rw-r--r--pkgs/development/tools/stylua/default.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
new file mode 100644
index 00000000000..86ab951bb9d
--- /dev/null
+++ b/pkgs/development/tools/stylua/default.nix
@@ -0,0 +1,35 @@
+{ fetchFromGitHub
+, lib
+, rustPlatform
+, stdenvNoCC
+, lua52Support ? true
+, luauSupport ? false
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "stylua";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "johnnymorganz";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "03w976fghqs2kswab5bridpr2p6hgldjyfd3l4kz0p5h98f3wzvf";
+  };
+
+  cargoSha256 = "1311ly02r6c2rqx0ssd6hpbw3sp0ffrf37bzdm66chxnh8cr83sj";
+
+  cargoBuildFlags = lib.optionals lua52Support [ "--features" "lua52" ]
+    ++ lib.optionals luauSupport [ "--features" "luau" ];
+
+  # test_standard fails on darwin
+  doCheck = !stdenvNoCC.isDarwin;
+
+  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 ];
+  };
+}