Custom snippets
Description
You can add your own snippets to LunarVim.
Custom snippets can be defined as json or lua.
json version
First create a folder : ~/.config/lvim/snippets/ next to your config.lua
Then in there you need at least 2 files.
The first file describes where your snippets are :
package.json :
{
  "name": "nvim-snippets",
  "author": "authorname",
  "engines": {
    "vscode": "^1.11.0"
  },
  "contributes": {
    "snippets": [
      {
        "language": "python",
        "path": "./python.json"
      }
    ]
  }
}
For each language, create a file like this :
python.json :
{
  "hello": {
    "prefix": "hello",
    "body": ["print('Hello, World!')"],
    "description": "print Hello, World!"
  }
}
You should be able to expand hello into print("Hello, World!")
lua version
First create a folder named luasnippets next to your config.lua. For example ~/.config/lvim/luasnippets/
Then, inside that folder, create a lua file named with the filetype you want to create snippets for. For example, for creating snippets for lua, create a (redundant, but correct) file named lua.lua. Then you put your files there like this:
return {
    s("foo", { t("Expands to bar") }),
}
LuaSnip is able to hot-reload snippets defined in lua when you save them, but you may need to restart LunarVim the first time you create the snippet files.
Please note that LuaSnip injects a bunch of utility globals when it loads your snippets (in this example the s and t functions), so you don't need to care about requiring or defining them. To get more detailed information and examples please read the LuaSnip docs about this topic