{ config, lib, pkgs, ... }: let my-vimrc = pkgs.writeTextFile { name = "vimrc"; text = '' imap jk xmap JK set number set relativenumber ''; }; my-neovim = pkgs.symlinkJoin { name = "neovim"; paths = [ pkgs.neovim ]; buildInputs = [ pkgs.makeWrapper ]; postBuild = '' wrapProgram $out/bin/nvim \ --add-flags "-u ${my-vimrc}" # Symlink {v,vi,vim} to nvim. for i in {v,vi,vim}; do ln -s $out/bin/nvim $out/bin/$i done ''; }; in { home.packages = [ my-neovim ]; }