### Adding Custom Plugins to LazyVim Source: https://github.com/matadaniel/lazyvim-module/blob/main/README.md This snippet illustrates how to add custom Vim plugins to LazyVim using Nix, including specifying plugin dependencies and configuring them via Lua files. The 'undotree' plugin is used as an example. ```nix { pkgs, ... }: { programs.lazyvim = { plugins = [ pkgs.vimPlugins.undotree ]; pluginsFile."editor.lua".source = ./editor.lua; }; } ``` -------------------------------- ### Enabling LazyVim in home.nix Source: https://github.com/matadaniel/lazyvim-module/blob/main/README.md This snippet demonstrates how to import the LazyVim module and enable its core functionality within your Home Manager configuration. It assumes the module has been correctly added to your flake.nix. ```nix { inputs, ... }: { imports = [ inputs.LazyVim.homeManagerModules.default ]; programs.lazyvim = { enable = true; }; } ``` -------------------------------- ### Enabling LazyVim Extras Source: https://github.com/matadaniel/lazyvim-module/blob/main/README.md This configuration snippet shows how to enable various LazyVim extras for coding, editor enhancements, language support, testing, and utilities. Each extra can be enabled independently. ```nix { programs.lazyvim = { extras = { coding = { yanky.enable = true; }; editor = { dial.enable = true; inc-rename.enable = true; }; lang = { nix.enable = true; }; test = { core.enable = true; }; util = { dot.enable = true; mini-hipatterns.enable = true; }; }; }; } ``` -------------------------------- ### Custom Plugin Configuration with Lua Source: https://github.com/matadaniel/lazyvim-module/blob/main/README.md This Lua code defines the configuration for the 'undotree' plugin, including keybindings for toggling it and setting its window layout. This file is referenced in the Nix configuration. ```lua -- editor.lua return { { "mbbill/undotree", keys = { { "uu", "UndotreeToggle", desc = "Toggle undotree" } }, init = function() vim.g.undotree_WindowLayout = 4 end, }, } ``` -------------------------------- ### Basic LazyVim Module Integration in flake.nix Source: https://github.com/matadaniel/lazyvim-module/blob/main/README.md This snippet shows how to add the LazyVim-module as an input and configure it within your Nix flake. Ensure your nixpkgs channel is set to 'nixos-unstable' for compatibility. ```nix { inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; LazyVim = { url = "github:matadaniel/LazyVim-module"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, home-manager, ... }@inputs: { homeConfigurations."${username}" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; extraSpecialArgs = { inherit inputs; }; modules = [ ./home-manager/home.nix ]; }; }; } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.