I have something here for you. Your father wanted you to have this when you were old enough, but your uncle wouldn't allow it. He feared you might follow on some damn fool idealistic crusade like your father did. It's your father's text editor. This is the weapon of a computer scientist. Not as clumsy or as random as an integrated development environment, but an elegant weapon for a more civilized age.
This is my neovim configuration. If you want to try it out, you can just clone it to where neovim stores it's configuration on your OS.
Because I believe Nix is the best package manager, my neovim config does not use include Mason to download language servers that aren't on your system already. If you install the config using Nix, all of the language servers I use will be included. You can also try it out using my WSL flake if you don't have a NixOS machine.
Config Locations
Windows
Under%AppdataLocal%, like C:\Users\NateS\AppData\Local\nvim and not C:\Users\NateS\AppData\Local\nvim\nvim.
Mac
Under~/.config/, like /Users/nates/.config/nvim and not /Users/nates/.config/nvim/nvim.
Linux
Under~/.config/, like /home/nates/.config/nvim and not /home/nates/.config/nvim/nvim.
BSD
Under~/.config/, like /home/nates/.config/nvim and not /home/nates/.config/nvim/nvim.
Flake Example
# flake.nix
{
description = "My machine";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nates-nvim = {
url = "github:NateSavage/nvim";
# optional but recommended: prevents the nvim flake from pulling its own separate nixpkgs copy
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-unstable.follows = "nixpkgs";
};
};
outputs = { nixpkgs, nates-nvim, ... }: {
nixosConfigurations.my-machine = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
nates-nvim.nixosModules
{
programs.nates-nvim = {
enable = true;
user = "YOUR_USERNAME";
};
}
./configuration.nix
];
};
};
}How the hell do I even use a text editor without a mouse, let alone one with customized hotkeys?
blue: default neovim binding
green: binding custom to nates configuration
orange: key held or pressed first