From 4300fd3edbea492f4794aba20fd5f6fa9a365e9a Mon Sep 17 00:00:00 2001 From: Cian Hughes Date: Mon, 13 Jul 2026 10:48:17 +0100 Subject: [PATCH] Added missing plugins --- devenv.nix | 48 ++++++++++++++++++++++++++++++++++++++++++ lua/plugins/coding.lua | 7 ++++++ 2 files changed, 55 insertions(+) diff --git a/devenv.nix b/devenv.nix index e2be104..2140b16 100644 --- a/devenv.nix +++ b/devenv.nix @@ -11,14 +11,62 @@ pkgs.prek pkgs.selene pkgs.stylua + pkgs.luaPackages.fennel + pkgs.fennel-ls + pkgs.fnlfmt ]; scripts.typecheck.exec = "lua-language-server --check=. --checklevel=Warning"; + scripts.fnlcheck.exec = '' + files=$(git ls-files '*.fnl') + if [ -n "$files" ]; then + fnlfmt --check $files + else + echo "No Fennel files to format." + fi + ''; + + scripts.smoketest.exec = '' + PROFILE_DIR="$PWD/.devenv/test-profile" + mkdir -p "$PROFILE_DIR/nvim" "$PROFILE_DIR/data" "$PROFILE_DIR/state" "$PROFILE_DIR/cache" + find "$PWD" -maxdepth 1 ! -name ".git" ! -name ".devenv" ! -name ".direnv" ! -name "devenv.lock" ! -name "devenv.nix" ! -name "devenv.yaml" ! -name ".envrc" -exec ln -sfn {} "$PROFILE_DIR/nvim/" \; + + XDG_CONFIG_HOME="$PROFILE_DIR" \ + XDG_DATA_HOME="$PROFILE_DIR/data" \ + XDG_STATE_HOME="$PROFILE_DIR/state" \ + XDG_CACHE_HOME="$PROFILE_DIR/cache" \ + nvim --headless -c 'q' + ''; + + scripts.test-drive.exec = '' + PROFILE_DIR="$PWD/.devenv/test-profile" + mkdir -p "$PROFILE_DIR/nvim" "$PROFILE_DIR/data" "$PROFILE_DIR/state" "$PROFILE_DIR/cache" + + # Symlink config files and folders to local sandbox config path + find "$PWD" -maxdepth 1 ! -name ".git" ! -name ".devenv" ! -name ".direnv" ! -name "devenv.lock" ! -name "devenv.nix" ! -name "devenv.yaml" ! -name ".envrc" -exec ln -sfn {} "$PROFILE_DIR/nvim/" \; + + echo "Starting test-drive of Neovim configuration in isolated sandbox..." + echo "Caches, plugins, and state will be saved to: $PROFILE_DIR" + + XDG_CONFIG_HOME="$PROFILE_DIR" \ + XDG_DATA_HOME="$PROFILE_DIR/data" \ + XDG_STATE_HOME="$PROFILE_DIR/state" \ + XDG_CACHE_HOME="$PROFILE_DIR/cache" \ + nvim "$@" + ''; + languages.lua.enable = true; git-hooks.hooks = { selene.enable = true; stylua.enable = true; + fnlfmt = { + enable = true; + name = "fnlfmt"; + entry = "${pkgs.fnlfmt}/bin/fnlfmt --check"; + files = "\\.fnl$"; + }; }; } + diff --git a/lua/plugins/coding.lua b/lua/plugins/coding.lua index cba5ed6..fd962b0 100644 --- a/lua/plugins/coding.lua +++ b/lua/plugins/coding.lua @@ -77,6 +77,13 @@ return { local manager = require("tree-sitter-manager") manager.setup({ + languages = { + org = { + install_info = { + url = "https://github.com/milisims/tree-sitter-org", + }, + }, + }, ensure_installed = { "bash", "c",