From 190b5f4cbfb3e522f02204f72bf559ed5e9f007e Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Wed, 6 May 2026 22:16:49 +0200 Subject: [PATCH] Add opencode notification & mdx support --- modules/cli/home.nix | 7 +++++++ modules/wm/home.nix | 3 ++- nvim/after/queries/markdown/highlights.scm | 4 ++++ nvim/after/queries/markdown/injections.scm | 22 +++++++++++++++++++++ nvim/after/queries/markdown/textobjects.scm | 4 ++++ nvim/default.nix | 9 +++++++++ nvim/lua/plugins/lsp.lua | 1 + nvim/lua/settings.lua | 2 ++ 8 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 nvim/after/queries/markdown/highlights.scm create mode 100644 nvim/after/queries/markdown/injections.scm create mode 100644 nvim/after/queries/markdown/textobjects.scm diff --git a/modules/cli/home.nix b/modules/cli/home.nix index 7bf1b2f..667d170 100644 --- a/modules/cli/home.nix +++ b/modules/cli/home.nix @@ -15,6 +15,7 @@ settings = { small_model = "github-copilot/gpt-5-mini"; autoupdate = false; + plugin = ["@mohak34/opencode-notifier"]; }; tui = { theme = "catppuccin"; @@ -31,6 +32,12 @@ }; }; + xdg.configFile."opencode/opencode-notifier.json".text = + builtins.toJSON { + sound = false; + showSessionTitle = true; + }; + xdg.configFile."nixpkgs/config.nix".text = '' { allowUnfree = true; android_sdk.accept_license = true; diff --git a/modules/wm/home.nix b/modules/wm/home.nix index f494250..2ed29cd 100644 --- a/modules/wm/home.nix +++ b/modules/wm/home.nix @@ -44,11 +44,12 @@ in { ./hyprlock.nix noctalia.homeModules.default ]; - home.packages = [ + home.packages = with pkgs; [ wallpaper screenshot screenshot-freeze record + libnotify ]; services.darkman = let diff --git a/nvim/after/queries/markdown/highlights.scm b/nvim/after/queries/markdown/highlights.scm new file mode 100644 index 0000000..4be2fb2 --- /dev/null +++ b/nvim/after/queries/markdown/highlights.scm @@ -0,0 +1,4 @@ +; extends + +((inline) @_inline (#lua-match? @_inline "^%s*import")) @nospell +((inline) @_inline (#lua-match? @_inline "^%s*export")) @nospell diff --git a/nvim/after/queries/markdown/injections.scm b/nvim/after/queries/markdown/injections.scm new file mode 100644 index 0000000..e21a610 --- /dev/null +++ b/nvim/after/queries/markdown/injections.scm @@ -0,0 +1,22 @@ +; extends + +((inline) @injection.content + (#lua-match? @injection.content "^%s*import") + (#set! injection.language "typescript")) + +((inline) @injection.content + (#lua-match? @injection.content "^%s*export") + (#set! injection.language "typescriptreact")) + +((inline) @injection.content + (#lua-match? @injection.content "^<") + (#set! injection.language "typescriptreact")) + +((indented_code_block) @injection.content + (#lua-match? @injection.content "^%s*<") + (#set! injection.language "typescriptreact") + (#set! injection.include-children)) + +((html_block) @injection.content + (#set! injection.language "typescriptreact") + (#set! injection.include-children)) diff --git a/nvim/after/queries/markdown/textobjects.scm b/nvim/after/queries/markdown/textobjects.scm new file mode 100644 index 0000000..3e746ba --- /dev/null +++ b/nvim/after/queries/markdown/textobjects.scm @@ -0,0 +1,4 @@ +; extends + +(fenced_code_block) @codeblock.outer +(fenced_code_block (code_fence_content) @codeblock.inner) diff --git a/nvim/default.nix b/nvim/default.nix index dac2957..5f204c8 100644 --- a/nvim/default.nix +++ b/nvim/default.nix @@ -139,6 +139,7 @@ in nil vscode-langservers-extracted # html, jsonls marksman + mdx-language-server texlab helm-ls zls @@ -181,5 +182,13 @@ in }, }, } + vim.lsp.config['mdx_analyzer'] = { + init_options = { + typescript = { + enabled = true, + tsdk = "${pkgs.typescript}/lib/node_modules/typescript/lib", + }, + }, + } ''; } diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index 1ec0955..1dbd582 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -22,6 +22,7 @@ vim.lsp.enable({ "qmlls", "roslyn_ls", "astro", + "mdx_analyzer", }) -- vim.api.nvim_create_autocmd("LspAttach", { diff --git a/nvim/lua/settings.lua b/nvim/lua/settings.lua index 0c75779..f2e7ae5 100644 --- a/nvim/lua/settings.lua +++ b/nvim/lua/settings.lua @@ -175,8 +175,10 @@ vim.filetype.add({ extension = { -- appsettings.json.model at work model = 'json', + mdx = "mdx", }, }) +vim.treesitter.language.register("markdown", "mdx") vim.cmd.colorscheme("catppuccin")