|
9 months ago | |
---|---|---|
screenshots | 2 years ago | |
README.md | 2 years ago | |
default.nix | 9 months ago | |
init.lua | 9 months ago | |
plugins.nix | 1 year ago |
README.md
Gaëlle’s Neovim configuration for Nix
This repository contains my configuration for the Neovim text editor, ready to be applied on a NixOS system or any POSIX system with the Nix package manager. It uses Home-manager to apply the configuration to any user.
It technically depends on Neovim 0.5 (which isn’t released at the time of the
writing), and it will pull the nightly version of Neovim. While Nix can support
multiple installed versions of a program, the nvim
command present in $PATH
will probably be overridden by the nightly version. When Neovim 0.5 will be
ready at least in nixos-unstable
, I’ll change this repo to use this version
instead.
Contents
This setup suits my personal needs with Neovim, which are: development, mostly with Python and Rust, script editing, and document writing (mails, various markdown files…). It contains the following main plugins:
- solarized-dark theme (can be easily changed, but for now some colors are hardcoded)
- lspconfig: language server support, using the built-in LSP from Neovim 0.5, configured with Rust, Python, Bash, HTML, CSS, Javascript, and Lua.
- nvim-bufferline: buffers appearing as graphical tabs
- vim-web-devicons
- gitsigns: for git info column and commands
- galaxyline: maybe the quickest statusbar plugin, configured with Powerline separators
- vim-vsnip and friendly-snippets: not yet configured
- telescope and telescope-symbols: universal fuzzy finder
- truezen: a clean and focus-friendly writing mode
- tree-nvim: a file explorer sidebar, with colored icons, git and LSP status
- minimap: a nice code minimap with current section highlighted
Screenshots
Usage
You need a working Nix or NixOS, and Home-Manager environment.
You can either activate this config in the global configuration.nix
file (and
define per-user home-manager config) or in home.nix
in your home directory.
For configuration.nix
:
{ lib, config, pkgs, ... }:
let
# […]
nix-nvim = builtins.fetchGit {
url = "https://framagit.org/vegaelle/nix-nvim.git";
ref = "master";
};
in
{
imports = [
# your existing imports
<home-manager/nixos>
];
home-manager.users.your_user = import "${nix-nvim}";
}
Then run nixos-rebuild switch
, and rehash
if your current shell is zsh
.
For home.nix
:
{ lib, config, pkgs, ... }:
let
# […]
nix-nvim = builtins.fetchGit {
url = "https://framagit.org/vegaelle/nix-nvim.git";
ref = "master";
};
in
{
imports = [ (import "${nix-nvim}") ];
}
Then run home-manager switch
. There is no need for rehash
even with zsh
.