{ lib, pkgs, ... }: let cfg.neovimPackage = pkgs.neovim; # Neovim package that includes aliases vi(m) -> nvim neovim-aliases = pkgs.symlinkJoin { name = "neovim-aliases"; paths = [ cfg.neovimPackage ]; postBuild = '' ln -sf $out/bin/nvim $out/bin/vi ln -sf $out/bin/nvim $out/bin/vim ''; }; in { # Don't use programs.neovim since that will build neovim from source environment.systemPackages = with pkgs; [ neovim-aliases # LSP servers python313Packages.python-lsp-server svelte-language-server tailwindcss-language-server vscode-langservers-extracted ]; }