dot

NixOS dotfiles
git clone https://git.echoz.io/dot.git
Log | Files | Refs

commit 1d8ba6a33c017d5aa5788e30c4468fcc286955d5
parent 0bb2277a4ab2583573ab04142138e41f94a0fd23
Author: Chris <chris@echoz.io>
Date:   Tue,  7 Jul 2026 05:15:54 +0200

feat: add d2

Diffstat:
Mmodules/neovim/plugins/images.nix | 30+++++++++++++++++++++++++-----
Mmodules/neovim/plugins/tree-sitter.nix | 22+++++++++++++++++++++-
Mmodules/tools/default.nix | 1+
3 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/modules/neovim/plugins/images.nix b/modules/neovim/plugins/images.nix @@ -2,19 +2,39 @@ { programs.neovim.plugins = with pkgs.vimPlugins; [ image-nvim - diagram-nvim + (diagram-nvim.overrideAttrs (final: prev: { + version = "0-unstable-2026-06-12"; + src = prev.src.override { + rev = "a221810b17cdda2d5fdddba9bab3eba6fab8fabc"; + hash = "sha256-+K5o50CtBFqn37t6GnAnI1p2CfCyA1w4TIhMKpfZX4A="; + }; + })) ]; - programs.neovim.customPlugins.images-config= { + programs.neovim.customPlugins.images-config = { "plugin/images-config.lua" = # lua '' + vim.filetype.add({ + extension = { + d2 = "d2", + }, + }) + require('image').setup({ backend = "kitty", - processor = "magick_rock"; + processor = "magick_rock", }) require('diagram').setup({ - integrations = { - require("diagram.integrations.markdown"), + renderer_options = { + mermaid = { + background = "transparent", + theme = "dark", + }, + d2 = { + theme_id = "200"; + layout = "elk"; + format = "svg"; + }, }, }) ''; diff --git a/modules/neovim/plugins/tree-sitter.nix b/modules/neovim/plugins/tree-sitter.nix @@ -1,7 +1,27 @@ { pkgs, ... }: { programs.neovim.plugins = [ - (pkgs.vimPlugins.nvim-treesitter.withAllGrammars // { runtimeDeps = [ pkgs.tree-sitter ]; }) + ( + (pkgs.vimPlugins.nvim-treesitter.withPlugins ( + _: + pkgs.vimPlugins.nvim-treesitter.allGrammars + ++ [ + (pkgs.tree-sitter.buildGrammar rec { + language = "d2"; + version = "0.7.2"; + src = pkgs.fetchFromGitHub { + owner = "ravsii"; + repo = "tree-sitter-d2"; + tag = "v${version}"; + hash = "sha256-zx6ud3uh+0Z+cYdP2KkFA27Kb6fW/CSGpC1C4YmCIo0="; + }; + }) + ] + )) + // { + runtimeDeps = [ pkgs.tree-sitter ]; + } + ) ]; programs.neovim.customPlugins.treesitter-config = { "plugin/tree-sitter-config.lua" = # lua diff --git a/modules/tools/default.nix b/modules/tools/default.nix @@ -8,6 +8,7 @@ systemPackages = with pkgs; [ bat cyme + d2 ddrescue dig exiftool