nixos

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit cd286f6801a881b7985537aa4bd2f80f6329409b
parent 8825a0e864f042d10ee0ae21f38ed22b55a6f8a6
Author: Toni Brown <me@tb148.eu.org>
Date:   Thu, 13 Nov 2025 13:21:07 +0800

Add slang-server package and update Zed editor configuration

- Add new slang-server derivation - Configure slang as primary
SystemVerilog language server - Add SystemVerilog formatting
configuration for verible - Set preferred line length to 64 -
Configure ruff to use tabs for indentation

Diffstat:
Aslang-server.nix | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
Mzed-editor.nix | 23++++++++++++++++++-----
2 files changed, 71 insertions(+), 5 deletions(-)

diff --git a/slang-server.nix b/slang-server.nix @@ -0,0 +1,53 @@ +{ + lib, + stdenv, + fetchFromGitHub, + boost, + catch2_3, + cmake, + ninja, + fmt_12, + mimalloc, + python3, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "slang-server"; + version = "0.2.0"; + + src = + fetchFromGitHub { + owner = "hudson-trading"; + repo = "slang-server"; + tag = "v0.2.0"; + hash = "sha256-FZHV/ezCrhXLwUHGGVTTUSynyw9SA0Roo5KyIpaN7KI="; + fetchSubmodules = true; + }; + + postPatch = '' + substituteInPlace external/slang/external/CMakeLists.txt --replace-fail \ + 'set(mimalloc_min_version "2.2")' \ + 'set(mimalloc_min_version "${lib.versions.majorMinor mimalloc.version}")' + ''; + + cmakeFlags = [ + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_LIBDIR=lib" + ]; + + nativeBuildInputs = [ + cmake + ninja + python3 + ]; + + strictDeps = true; + + buildInputs = [ + boost + catch2_3 + fmt_12 + mimalloc + ]; + + doCheck = true; + }) diff --git a/zed-editor.nix b/zed-editor.nix @@ -22,7 +22,7 @@ tailwindcss-language-server taplo verible - # veridian + (callPackage ./slang-server.nix {}) vscode-json-languageserver yaml-language-server ]; @@ -38,6 +38,7 @@ "verilog" ]; userSettings = { + preferred_line_length = 64; buffer_font_family = "Sarasa Mono SC"; buffer_font_size = 16; ui_font_family = "Sarasa Mono SC"; @@ -50,10 +51,19 @@ "nil" "!nixd" ]; - SystemVerilog.language_servers = [ - "verible" - "!veridian" - ]; + SystemVerilog = { + hard_tabs = false; + formatter = { + language_server = { + name = "verible"; + }; + }; + language_servers = [ + "slang" + "verible" + "!veridian" + ]; + }; }; lsp.nil.initialization_options = { formatting.command = [ @@ -63,6 +73,9 @@ ]; diagnostics.ignored = ["unused_binding"]; }; + lsp.ruff.initialization_options.settings.configuration = { + format.indent-style = "tab"; + }; }; }; }