{ config, lib, pkgs, inputs, ... }: let inherit (lib) mkEnableOption mkIf readFile; in { home-manager.users.moritz = { xdg.configFile."nvim/snippets" = { recursive = true; source = ../snippets; }; programs.nixvim = { plugins.luasnip = { enable = true; settings = { history = true; update_events = "TextChanged,TextChangedI"; delete_check_events = "TextChanged"; ext_opts.__raw = '' { [require("luasnip.util.types").choiceNode] = { active = { virt_text = { { "<--", "Error" } }, }, }, } ''; ft_func.__raw = ''require("luasnip.extras.filetype_functions").from_pos_or_filetype''; }; }; extraConfigLuaPost = '' require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" }) require("luasnip.loaders.from_snipmate").lazy_load({ paths = "~/.config/nvim/snippets" }) require("luasnip.loaders.from_vscode").lazy_load() ''; }; }; }