mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-26 15:06:45 +00:00
docs/installation: add standalone flake example
This commit is contained in:
parent
94f6f7eceb
commit
c1904bc9e5
1 changed files with 51 additions and 3 deletions
|
@ -1,8 +1,9 @@
|
||||||
# Standalone Installation {#ch-standalone-installation}
|
# Standalone Installation {#ch-standalone-installation}
|
||||||
|
|
||||||
It is possible to install **nvf** without depending on NixOS or home-manager as the parent
|
It is possible to install nvf without depending on NixOS or Home-Manager as the
|
||||||
module system, using the `neovimConfiguration` function exposed by **nvf** extended library.
|
parent module system, using the `neovimConfiguration` function exposed in the
|
||||||
It takes in the configuration as a module, and returns an attribute set as a result.
|
extended library. This function will take `modules` and `extraSpecialArgs` as
|
||||||
|
arguments, and return the following schema as a result.
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
{
|
{
|
||||||
|
@ -13,6 +14,53 @@ It takes in the configuration as a module, and returns an attribute set as a res
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
An example flake that exposes your custom Neovim configuration might look like
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
nvf.url = "github:notashelf/nvf";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
...
|
||||||
|
} @ inputs: {
|
||||||
|
packages."x86_64-linux" = let
|
||||||
|
neovimConfigured = (inputs.nvf.lib.neovimConfiguration {
|
||||||
|
inherit (nixpkgs.legacyPackages."x86_64-linux") pkgs;
|
||||||
|
modules = [{
|
||||||
|
config.vim = {
|
||||||
|
# Enable custom theming options
|
||||||
|
theme.enable = true;
|
||||||
|
|
||||||
|
# Enable Treesitter
|
||||||
|
tree-sitter.enable = true;
|
||||||
|
|
||||||
|
# Other options will go here. Refer to the config
|
||||||
|
# reference in Appendix B of the nvf manual.
|
||||||
|
# ...
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
# Set the default package to the wrapped instance of Neovim.
|
||||||
|
# This will allow running your Neovim configuration with
|
||||||
|
# `nix run` and in addition, sharing your configuration with
|
||||||
|
# other users in case your repository is public.
|
||||||
|
default = neovimConfigured.neovim;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<!-- TODO: mention the built-in flake template here when it is added -->
|
||||||
|
|
||||||
|
The next two chapters will detail specific usage of standalone nvf
|
||||||
|
configurations on NixOS and Home-Manager.
|
||||||
|
|
||||||
```{=include=} chapters
|
```{=include=} chapters
|
||||||
standalone/nixos.md
|
standalone/nixos.md
|
||||||
standalone/home-manager.md
|
standalone/home-manager.md
|
||||||
|
|
Loading…
Reference in a new issue