mirror of
https://github.com/youwen5/neovim-flake.git
synced 2024-11-24 19:03:49 -08:00
update readme
This commit is contained in:
parent
707837ca26
commit
2041108179
1 changed files with 25 additions and 20 deletions
45
README.md
45
README.md
|
@ -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,10 +33,8 @@ 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 --
|
||||||
};
|
};
|
||||||
# -- 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.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue