From 659489ed5b12bfe5ebc0c024e7149d83d87320be Mon Sep 17 00:00:00 2001 From: dish Date: Fri, 19 Jun 2026 12:36:02 -0400 Subject: [PATCH] [neovim] use oxlint/oxfmt for everything --- neovim/languages/css.nix | 51 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/neovim/languages/css.nix b/neovim/languages/css.nix index 09996953..8682e35e 100644 --- a/neovim/languages/css.nix +++ b/neovim/languages/css.nix @@ -1,13 +1,56 @@ { lib, pkgs, ... }: +let + by_ft = + tool: extraFts: + builtins.listToAttrs ( + map (x: lib.nameValuePair x [ tool ]) [ + # keep-sorted start + "css" + "javascriptreact" + "javascript" + "svelte" + "typescript" + "typescriptreact" + "vue" + # keep-sorted end + ] + ++ extraFts + ); +in { config.vim = { + diagnostics.nvim-lint = { + linters_by_ft = by_ft "oxlint" [ "astro" ]; + linters.oxlint = { + stdin = false; + cmd = lib.meta.getExe pkgs.oxlint; + args = [ + "--format" + "github" + ]; + }; + }; + formatter.conform-nvim.setupOpts = { + formatters_by_ft = by_ft "oxfmt" [ + # keep-sorted start + "graphql" + "html" + "json" + "less" + "scss" + "yaml" + # keep-sorted end + ]; + formatters.oxfmt = { + command = lib.meta.getExe pkgs.oxfmt; + }; + }; + languages.css = { + enable = true; + }; lsp.servers.vscode-css-language-server.cmd = lib.mkForce [ (lib.meta.getExe pkgs.vscode-css-languageserver) "--stdio" ]; - languages.css = { - enable = true; - format.type = [ "biome" ]; - }; }; } -- 2.51.2