From d0a624b436d9ec8b6d76d3f2884d9650f8151e71 Mon Sep 17 00:00:00 2001 From: Till Date: Sat, 13 May 2023 11:59:44 +0200 Subject: [PATCH] nvim as import --- home/default.nix | 128 +---------------------------------------------- home/nvim.nix | 128 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+), 126 deletions(-) create mode 100644 home/nvim.nix diff --git a/home/default.nix b/home/default.nix index 4482ff7..d41010c 100644 --- a/home/default.nix +++ b/home/default.nix @@ -32,135 +32,11 @@ vdirsyncer ]; - modules = [ + imports = [ ./R.nix + ./nvim.nix ]; - programs.neovim = { - enable = true; - defaultEditor = true; - plugins = with pkgs.vimPlugins; [ - # todo: pandoc, completion, lsp - { - plugin = fzf-vim; - config = '' - let maplocalleader="\\" - let mapleader=" " - nnoremap :Buffers - imap (fzf-complete-path) - nnoremap o :Files - nnoremap O :Files ~/ - nnoremap r :Read - nnoremap a :Ag - nnoremap b :Buffers - nnoremap . :Files ~/.config/ - command! -nargs=? -complete=dir Read call fzf#run( - \fzf#wrap({'sink': 'read', 'dir': }) - \) - ''; - } - - { - plugin = goyo; - config = '' - nnoremap yog :Goyo - nnoremap [og :Goyo 80 - nnoremap ]og :Goyo! - ''; - } - - { - plugin = limelight-vim; - config = '' - set termguicolors - let g:limelight_conceal_ctermfg = 'darkgray' - nnoremap yof :Limelight!! - nnoremap [of :Limelight - nnoremap ]of :Limelight! - ''; - } - - { - plugin = nvim-colorizer-lua; - config = "lua require 'colorizer'.setup()"; - } - - { - plugin = papercolor-theme; - config = '' - set background=light - colorscheme PaperColor - ''; - } - - typescript-vim - - { - plugin = ultisnips; - config = "nnoremap se :UltiSnipsEdit!"; - } - - vim-commentary - { - plugin = vim-easy-align; - config = '' - xmap ga (EasyAlign) - nmap ga (EasyAlign) - ''; - } - vim-fish - vim-nix - vim-repeat - { - plugin = vim-slime; - config = '' - let g:slime_target = "tmux" - let g:slime_default_config = {"socket_name": get(split($TMUX, ","), 0), "target_pane": ":.1"} - let g:slime_no_mappings = 1 - let g:slime_dont_ask_default = 1 - xmap s SlimeRegionSend - nmap s SlimeMotionSend - nmap ss SlimeLineSend - nnoremap s: :SlimeSend1 - " let g:slime_target = "neovim" - " autocmd TermOpen * let g:slime_default_config = {"jobid": &channel} - ''; - } - vim-snippets - vim-speeddating - vim-surround - vim-unimpaired - ]; - extraConfig = '' - let mapleader=" " - let maplocalleader="\\" - - set colorcolumn=+1 - set expandtab - set ignorecase - set iskeyword+=ä,Ä,ö,Ö,ü,Ü,ß - set linebreak - set list listchars=tab:»\ ,trail:·,nbsp:~ - set number - set relativenumber - set scrolloff=7 - set shell=/bin/sh - set shiftwidth=2 - set shortmess=FfmnxoTIc - set signcolumn=no - set smartcase - set softtabstop=2 - set spelllang=en_us,de_20 - set splitbelow - set splitright - set tabstop=2 - set updatetime=300 - - let g:netrw_liststyle = 3 - let g:netrw_fastbrowse = 0 - ''; - }; - home.shellAliases = { ls = "exa"; tree = "exa --tree"; diff --git a/home/nvim.nix b/home/nvim.nix new file mode 100644 index 0000000..bf8a3a8 --- /dev/null +++ b/home/nvim.nix @@ -0,0 +1,128 @@ +{ config, pkgs, ... }: + +{ + programs.neovim = { + enable = true; + defaultEditor = true; + plugins = with pkgs.vimPlugins; [ + # todo: pandoc, completion, lsp + { + plugin = fzf-vim; + config = '' + let maplocalleader="\\" + let mapleader=" " + nnoremap :Buffers + imap (fzf-complete-path) + nnoremap o :Files + nnoremap O :Files ~/ + nnoremap r :Read + nnoremap a :Ag + nnoremap b :Buffers + nnoremap . :Files ~/.config/ + command! -nargs=? -complete=dir Read call fzf#run( + \fzf#wrap({'sink': 'read', 'dir': }) + \) + ''; + } + + { + plugin = goyo; + config = '' + nnoremap yog :Goyo + nnoremap [og :Goyo 80 + nnoremap ]og :Goyo! + ''; + } + + { + plugin = limelight-vim; + config = '' + set termguicolors + let g:limelight_conceal_ctermfg = 'darkgray' + nnoremap yof :Limelight!! + nnoremap [of :Limelight + nnoremap ]of :Limelight! + ''; + } + + { + plugin = nvim-colorizer-lua; + config = "lua require 'colorizer'.setup()"; + } + + { + plugin = papercolor-theme; + config = '' + set background=light + colorscheme PaperColor + ''; + } + + typescript-vim + + { + plugin = ultisnips; + config = "nnoremap se :UltiSnipsEdit!"; + } + + vim-commentary + { + plugin = vim-easy-align; + config = '' + xmap ga (EasyAlign) + nmap ga (EasyAlign) + ''; + } + vim-fish + vim-nix + vim-repeat + { + plugin = vim-slime; + config = '' + let g:slime_target = "tmux" + let g:slime_default_config = {"socket_name": get(split($TMUX, ","), 0), "target_pane": ":.1"} + let g:slime_no_mappings = 1 + let g:slime_dont_ask_default = 1 + xmap s SlimeRegionSend + nmap s SlimeMotionSend + nmap ss SlimeLineSend + nnoremap s: :SlimeSend1 + " let g:slime_target = "neovim" + " autocmd TermOpen * let g:slime_default_config = {"jobid": &channel} + ''; + } + vim-snippets + vim-speeddating + vim-surround + vim-unimpaired + ]; + extraConfig = '' + let mapleader=" " + let maplocalleader="\\" + + set colorcolumn=+1 + set expandtab + set ignorecase + set iskeyword+=ä,Ä,ö,Ö,ü,Ü,ß + set linebreak + set list listchars=tab:»\ ,trail:·,nbsp:~ + set number + set relativenumber + set scrolloff=7 + set shell=/bin/sh + set shiftwidth=2 + set shortmess=FfmnxoTIc + set signcolumn=no + set smartcase + set softtabstop=2 + set spelllang=en_us,de_20 + set splitbelow + set splitright + set tabstop=2 + set updatetime=300 + + let g:netrw_liststyle = 3 + let g:netrw_fastbrowse = 0 + ''; + }; +}