From e14db4bfd43689e2874a62b3aca30a0cdf471825 Mon Sep 17 00:00:00 2001 From: DannyDannyDanny Date: Sun, 9 Feb 2025 15:42:04 +0100 Subject: [PATCH] :sparkles: add (nerfed) neovim config from wsl branch --- nixos/configuration.nix | 4 +-- nixos/flake.nix | 1 + nixos/neovim.nix | 61 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 nixos/neovim.nix diff --git a/nixos/configuration.nix b/nixos/configuration.nix index f28d089..62ba3bb 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -11,6 +11,7 @@ ./tmux.nix # ./uxplay.nix ./fish.nix + ./neovim.nix ]; # Bootloader. @@ -114,9 +115,6 @@ pkgs.tmux # terminal multiplexer pkgs.fzf # fuzzy matcher - pkgs.vim # text editor: choose this - pkgs.neovim # or this - pkgs.neofetch # system profile: choose this pkgs.fastfetch # or this diff --git a/nixos/flake.nix b/nixos/flake.nix index 1290616..707c8ac 100644 --- a/nixos/flake.nix +++ b/nixos/flake.nix @@ -10,6 +10,7 @@ ./hardware-configuration.nix # ./uxplay.nix ./fish.nix + ./neovim.nix ]; }; }; diff --git a/nixos/neovim.nix b/nixos/neovim.nix new file mode 100644 index 0000000..b452eeb --- /dev/null +++ b/nixos/neovim.nix @@ -0,0 +1,61 @@ +{ config, pkgs, ... }: + +{ + programs.neovim = { + enable = true; + defaultEditor = true; + # package = pkgs.neovim; + configure = { + customRC = '' + set title + set go=a + set mouse=a + set nohlsearch + + set bg=dark + " set bg=light + + colorscheme gruvbox + + " relative line numbering when leaving insert mode + set relativenumber + autocmd InsertEnter * :set number norelativenumber + autocmd InsertLeave * :set nonumber relativenumber + + " netrw (dir listing) settings + let g:netrw_liststyle = 3 + let g:netrw_banner = 0 + let g:netrw_browse_split = 3 + let g:netrw_winsize = 25 " % of page + + set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:» + set clipboard+=unnamedplus + + " Replace-all is aliased to S. + nnoremap S :%s//g + + " spellcheck + set spell spelllang=en_us + setlocal spell! spelllang=en_us + ''; + # vimPlugins inspired from Alexnortung + # https://discourse.nixos.org/t/neovim-no-longer-uses-config-or-plugins/13399/4 + packages.nix = with pkgs.vimPlugins; { + start = [ + vim-surround # shortcuts for setting () {} etc. + # coc-nvim coc-git coc-highlight coc-python coc-rls coc-vetur coc-vimtex coc-yaml coc-html coc-json # auto completion + vim-nix # nix highlight + vimtex # latex stuff + fzf-vim # fuzzy finder through vim + nerdtree # file structure inside nvim + rainbow # color parenthesis + gruvbox-nvim # theme + goyo-vim # write prose + limelight-vim # prose paragraph highlighter + ]; + opt = []; + }; + }; + }; +} +