update readme

This commit is contained in:
Youwen Wu 2024-08-25 00:06:42 -07:00
parent 707837ca26
commit 2041108179
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3

View file

@ -1,20 +1,15 @@
# Neovim Configuration Flake
This is the Neovim configuration for all my NixOS and Nix enabled systems (such as with nix-darwin on macOS).
It aims to be minimal and utilitarian; it forgoes blingful features like status lines, sidebars, or fancy UI enhancements
It aims to be minimal and utilitarian; it forgoes many blingful features like status lines, sidebars, or fancy UI enhancements
in favor of native (neo)Vim, while still having everything useful you'd expect, like LSPs, file explorer (`yazi`), completions,
advanced language tools, and QoL enhancements.
It uses the [Nixvim](https://nix-community.github.io/nixvim/) project under the hood to declaratively
configure Neovim and its plugins, and installs some LSPs and other tools needed by it (like `yazi`, `fd`, etc).
It simply outputs a package, called `nvim`. It can be called just like the regular `nvim` package, except it bundles
all of my custom configuration and their dependencies with the power of Nix.
You can try it, remotely, in one line:
```sh
nix run 'github:youwen5/neovim-flake'
```
It simply outputs a package which provides the binary `nvim`. It can be called just like the regular `nvim` binary, except it bundles
all of my custom configuration and their dependencies with the power of Nix. An entirely self-contained, reproducible, purely functional text editor. Amazing.
Feel free to fork or copy the config to use yourself. It's free in the [public domain](./LICENSE).
@ -23,7 +18,13 @@ build a Nixvim configuration as a standalone Nix package.
## Usage
Add it to your flake inputs, and import `homeManagerModules.default` as a home-manager module:
You can test drive my config in just one line:
```sh
nix run 'github:youwen5/neovim-flake'
```
If for some reason, you want to install it permanently, add it to your flake inputs,
and install the package in the usual way:
```nix
# flake.nix
@ -32,9 +33,7 @@ Add it to your flake inputs, and import `homeManagerModules.default` as a home-m
inputs = {
# -- snip --
neovim-config = {
url = "github:youwen5/neovim-flake";
inputs.nixpkgs.follows = "nixpkgs";
custom-neovim.url = "github:youwen5/neovim-flake";
};
# -- snip --
};
@ -43,13 +42,19 @@ Add it to your flake inputs, and import `homeManagerModules.default` as a home-m
```
```nix
# Wherever you're setting up your home-manager modules:
# Wherever you install packages for your system or user:
home-manager.users.<your-username> = {
imports = [
# -- snip --
inputs.neovim-config.homeManagerModules.default
# -- snip --
{inputs, system, ...}:
{
environment.systemPackages = [
inputs.custom-neovim.packages.${system}.default
# supported systems: x86_64-linux, aarch64-linux, x86_64-darwin, aarch64-darwin
];
};
}
```
> ![WARNING]
> This package will add the symlinks `vim -> nvim` and `vi -> nvim` so it will conflict with
> `pkgs.vim` and any programs installing binaries called `vim` or `vi`. You must remove existing
> Neovim and Vim packages to install this.