{
  pkgs,
  lib,
  ...
}: {
  programs.nixvim = {
    # TODO: package femaco through a module
    extraConfigLuaPost = ''
      ${lib.strings.fileContents ./lua/femaco.lua}
    '';
    extraPlugins = [
      pkgs.vimExtraPlugins.nvim-FeMaco-lua
    ];
    maps = {
      normal = {
        "<leader>cc" = {
          action = "require('femaco.edit').edit_code_block";
          lua = true;
          desc = "edit a [c]ode blo[c]k with femaco";
        };
      };
    };
  };
}