- Notifications
You must be signed in to change notification settings - Fork30
elythh/nixvim
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Important
My Neovim config using nixvim
You may have previously seen this repo with a different structure/configuration.
The thing is: I wasn't satisfied with it.
So I rewrote it from scratch with minimal dependencies.
If you want the old configuration, check out theold
branch.
Note
The colorscheme in these screenshots is rose pine
To start configuring, just add or modify the nix files in./config
.Every folder in theplugins
directory will be imported automatically.
Warning
Some of them might be disabled, this is every plugins defined and configured in the repo.
List of plugins
- avante: Cursor AI at home
- copilot-cmp: Completion support for GitHub copilot
- gitlinker: Generate shareable file permalinks
- conform: Formatter plugin
- lint: Linting plugin
- lsp: LSP configs
- none-ls: null-ls replacement. Use nvim as LSP
- snacks: A list of utilities
- Currently using:
- git
- indent
- picker
- lazygit
- notifier
- Currently using:
- treesitter: Parser generator tool to build a syntax tree of the current buffer
- bufferline: VSCode like buffer line
- noice: Better nvim UI
- mini: Cool neovim utilities
- currently using
- ai
- clue
- diff
- files
- currently using
- ufo: Folding plugin
To test your configuration simply run the following command
nix run .
If you have nix installed, you can directly run my config from anywhere
You can try running mine with:
nix run'github:elythh/nixvim'
Thisnixvim
flake will output a derivation that you can easily includein eitherhome.packages
forhome-manager
, orenvironment.systemPackages
forNixOS
. Or whatever happens with darwin?
You can add mynixvim
configuration as an input to yourNixOS
configuration like:
{inputs={nixvim.url="github:elythh/nixvim";};}
With the input added you can reference it directly.
{inputs,system, ...}:{# NixOSenvironment.systemPackages=[inputs.nixvim.packages.${pkgs.system}.default];# home-managerhome.packages=[inputs.nixvim.packages.${pkgs.system}.default];}
The binary built bynixvim
is already named asnvim
so you can call it justlike you normally would.
Another method is to overlay your custom build overneovim
fromnixpkgs
.
This method is less straight-forward but allows you to installneovim
likeyou normally would. With this method you would just installneovim
in yourconfiguration (home.packages = with pkgs; [ neovim ]
), but you replaceneovim
inpkgs
with your derivation fromnixvim
.
{pkgs=importinputs.nixpkgs{overlays=[(final:prev:{neovim=inputs.nixvim.packages.${pkgs.system}.default;})];}}
You can just straight up alias something likenix run 'github:elythh/nixvim'
tonvim
.
About
❄️ my neovim config using nixvim