{ lib, pkgs, ... }: let cfg.neovimPackage = pkgs.unstable.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 { # NOTE: Don't use programs.neovim since that will build neovim from source environment.systemPackages = with pkgs; [ neovim-aliases ]; }