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 # Neovim Configuration Flake
This is the Neovim configuration for all my NixOS and Nix enabled systems (such as with nix-darwin on macOS). 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, 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. advanced language tools, and QoL enhancements.
It uses the [Nixvim](https://nix-community.github.io/nixvim/) project under the hood to declaratively 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). 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 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. all of my custom configuration and their dependencies with the power of Nix. An entirely self-contained, reproducible, purely functional text editor. Amazing.
You can try it, remotely, in one line:
```sh
nix run 'github:youwen5/neovim-flake'
```
Feel free to fork or copy the config to use yourself. It's free in the [public domain](./LICENSE). 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 ## 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 ```nix
# flake.nix # flake.nix
@ -32,9 +33,7 @@ Add it to your flake inputs, and import `homeManagerModules.default` as a home-m
inputs = { inputs = {
# -- snip -- # -- snip --
neovim-config = { custom-neovim.url = "github:youwen5/neovim-flake";
url = "github:youwen5/neovim-flake";
inputs.nixpkgs.follows = "nixpkgs";
}; };
# -- snip -- # -- snip --
}; };
@ -43,13 +42,19 @@ Add it to your flake inputs, and import `homeManagerModules.default` as a home-m
``` ```
```nix ```nix
# Wherever you're setting up your home-manager modules: # Wherever you install packages for your system or user:
home-manager.users.<your-username> = { {inputs, system, ...}:
imports = [ {
# -- snip -- environment.systemPackages = [
inputs.neovim-config.homeManagerModules.default inputs.custom-neovim.packages.${system}.default
# -- snip -- # 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.