{
  config,
  pkgs,
  lib,
  ...
} @ input: {
  programs.nixvim =
    {
      enable = true;
    }
    // (import ../../../lib/nixvim.nix input);

  programs.vscode = {
    profiles.default.extensions = [pkgs.vscode-extensions.asvetliakov.vscode-neovim];
    profiles.default.userSettings = {
      "vscode-neovim.neovimExecutablePaths.linux" =
        lib.getExe config.programs.nixvim.package;
      "extensions.experimental.affinity" = {
        "asvetliakov.vscode-neovim" = 1;
      };
    };
  };

  home.shellAliases = {
    v = "nvim";
  };
}
