{
  lib,
  config,
  pkgs,
  ...
}: let
  cfg = config.soispha.programs.nvim;
in {
  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
    plugins.luasnip = {
      enable = true;
    };
    extraConfigLuaPost = ''
      ${lib.strings.fileContents ./lua/luasnip.lua};
      require("luasnip.loaders.from_lua").load({paths = "${./lua/snippets}"});
      require("luasnip.loaders.from_lua").lazy_load({paths = "${./lua/snippets}"});
    '';
    extraPlugins = [
      # needed for the todo-comments snippets
      pkgs.vimPlugins.comment-nvim
    ];
  };
}