Files
sydnix/modules/home/users/crumb/nvim.nix
2025-03-13 13:59:07 -06:00

40 lines
916 B
Nix

{ config, lib, pkgs, ... }:
let
cfg = config.sydnix.users.crumb.nvim;
in {
options.sydnix.users.crumb.nvim.enable =
lib.mkEnableOption "Neovim, à la crumb";
config = lib.mkIf cfg.enable (
let
my-vimrc =
pkgs.writeTextFile {
name = "vimrc";
text = ''
imap jk <ESC>
xmap JK <ESC>
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 ];
});
}