From 4a250dcb3ab267efaf5787de94305f8d6ee0b9cd Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sun, 14 Dec 2025 13:17:50 +0100 Subject: [PATCH 1/3] languages/tera: add syntax highlighting support for tera templating --- configuration.nix | 1 + docs/manual/release-notes/rl-0.9.md | 7 ++++++- modules/plugins/languages/default.nix | 1 + modules/plugins/languages/tera.nix | 28 +++++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 modules/plugins/languages/tera.nix diff --git a/configuration.nix b/configuration.nix index cc314288..a0d53997 100644 --- a/configuration.nix +++ b/configuration.nix @@ -94,6 +94,7 @@ isMaximal: { tailwind.enable = false; svelte.enable = false; + tera.enable = false; # Nim LSP is broken on Darwin and therefore # should be disabled by default. Users may still enable diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 8c06cfcf..b0e34a48 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -23,4 +23,9 @@ [ccc.nvim]: https://github.com/uga-rosa/ccc.nvim - Added [ccc.nvim] option {option}`vim.utility.ccc.setupOpts` with the existing - hard-coded options as default values. + hard-coded options as default values + +[Snoweuph](https://github.com/snoweuph): + +- Added [tera](https://keats.github.io/tera/) language support (syntax highlighting only). + diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index fd45758f..4681366b 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -19,6 +19,7 @@ in { ./helm.nix ./kotlin.nix ./html.nix + ./tera.nix ./haskell.nix ./java.nix ./json.nix diff --git a/modules/plugins/languages/tera.nix b/modules/plugins/languages/tera.nix new file mode 100644 index 00000000..7e1d5573 --- /dev/null +++ b/modules/plugins/languages/tera.nix @@ -0,0 +1,28 @@ +{ + config, + pkgs, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.modules) mkIf mkMerge; + inherit (lib.nvim.types) mkGrammarOption; + + cfg = config.vim.languages.tera; +in { + options.vim.languages.tera = { + enable = mkEnableOption "Tera templating language support"; + + treesitter = { + enable = mkEnableOption "Tera treesitter" // {default = config.vim.languages.enableTreesitter;}; + package = mkGrammarOption pkgs "tera"; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + (mkIf cfg.treesitter.enable { + vim.treesitter.enable = true; + vim.treesitter.grammars = [cfg.treesitter.package]; + }) + ]); +} From 73cd50b04b3dcfcc52e9ab2de354341aca806756 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sun, 14 Dec 2025 11:59:49 +0100 Subject: [PATCH 2/3] theme/grubber-darker: add grubber-darker theme, which is inspired by tsodings emacs theme --- docs/manual/release-notes/rl-0.9.md | 2 ++ modules/plugins/theme/supported-themes.nix | 27 ++++++++++++++++++++++ npins/sources.json | 13 +++++++++++ 3 files changed, 42 insertions(+) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index b0e34a48..02a6435c 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -28,4 +28,6 @@ [Snoweuph](https://github.com/snoweuph): - Added [tera](https://keats.github.io/tera/) language support (syntax highlighting only). +- Added neovim theme `grubber-darker` . + diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index c2a5e1ca..bded2a32 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -37,6 +37,33 @@ in { ''; styles = ["dark" "darker" "cool" "deep" "warm" "warmer"]; }; + gruber-darker = { + setup = _: + /* + lua + */ + '' + require('gruber-darker').setup({ + -- defaults + bold = true, + invert = { + signs = false, + tabline = false, + visual = false, + }, + italic = { + strings = true, + comments = true, + operators = false, + folds = true, + }, + undercurl = true, + underline = true, + }) + vim.cmd('colorscheme gruber-darker') + ''; + styles = ["dark"]; + }; tokyonight = { setup = { diff --git a/npins/sources.json b/npins/sources.json index a9df47b7..e9257bc5 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -643,6 +643,19 @@ "url": "https://github.com/ellisonleao/glow.nvim/archive/5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2.tar.gz", "hash": "11rlis4riy1w4clnkiza8x6fs8xjwsrsgfzlz2k8z041ancmrw0a" }, + "gruber-darker": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "blazkowolf", + "repo": "gruber-darker.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "98a2e141981cbd5a194a97eae024bf55af854579", + "url": "https://github.com/blazkowolf/gruber-darker.nvim/archive/98a2e141981cbd5a194a97eae024bf55af854579.tar.gz", + "hash": "0bxv33isymnbdzf71w79pfxkwi8ylhjiq3ir9ws2as1d73nnl6lv" + }, "gruvbox": { "type": "Git", "repository": { From d99e5fa289dee0286cffb8804653ded6cc308100 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sun, 14 Dec 2025 11:35:21 +0100 Subject: [PATCH 3/3] theme/habamax: add neovim builtin theme habamax --- docs/manual/release-notes/rl-0.9.md | 1 + modules/plugins/theme/supported-themes.nix | 8 ++++++++ modules/plugins/theme/theme.nix | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 02a6435c..a0070412 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -29,5 +29,6 @@ - Added [tera](https://keats.github.io/tera/) language support (syntax highlighting only). - Added neovim theme `grubber-darker` . +- Added neovim builtin theme `habamax`. diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index bded2a32..ca51a5ce 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -8,6 +8,14 @@ inherit (lib.trivial) boolToString warnIf; inherit (lib.nvim.lua) toLuaObject; in { + habamax = { + builtin = true; + setup = _: + /* + lua + */ + "vim.cmd('colorscheme habamax')"; + }; base16 = { setup = {base16-colors, ...}: '' -- Base16 theme diff --git a/modules/plugins/theme/theme.nix b/modules/plugins/theme/theme.nix index b3147c00..44a243f1 100644 --- a/modules/plugins/theme/theme.nix +++ b/modules/plugins/theme/theme.nix @@ -65,7 +65,10 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = [cfg.name]; + startPlugins = + if (supportedThemes.${cfg.name} ? builtin) && supportedThemes.${cfg.name}.builtin + then [] + else [cfg.name]; luaConfigRC.theme = entryBefore ["pluginConfigs" "lazyConfigs"] '' ${cfg.extraConfig} ${supportedThemes.${cfg.name}.setup {inherit (cfg) style transparent base16-colors;}}