mirror of
https://github.com/kmein/niveum
synced 2026-03-22 21:01:07 +01:00
feat: make obsidian-vim and neovim bearable
This commit is contained in:
@@ -305,7 +305,7 @@
|
|||||||
new-mac = pkgs.callPackage packages/new-mac.nix {};
|
new-mac = pkgs.callPackage packages/new-mac.nix {};
|
||||||
nix-git = pkgs.callPackage packages/nix-git.nix {};
|
nix-git = pkgs.callPackage packages/nix-git.nix {};
|
||||||
nix-index-update = pkgs.callPackage packages/nix-index-update.nix {inherit system;};
|
nix-index-update = pkgs.callPackage packages/nix-index-update.nix {inherit system;};
|
||||||
notemenu = pkgs.callPackage packages/notemenu.nix {};
|
notemenu = pkgs.callPackage packages/notemenu.nix {niveumPackages = self.packages.${system};};
|
||||||
opustags = pkgs.callPackage packages/opustags.nix {};
|
opustags = pkgs.callPackage packages/opustags.nix {};
|
||||||
pls = pkgs.callPackage packages/pls.nix {};
|
pls = pkgs.callPackage packages/pls.nix {};
|
||||||
qrpaste = pkgs.callPackage packages/qrpaste.nix {};
|
qrpaste = pkgs.callPackage packages/qrpaste.nix {};
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ local cmp = require'cmp'
|
|||||||
|
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args) {
|
expand = function(args)
|
||||||
require("luasnip").lsp_expand(args.body)
|
require("luasnip").lsp_expand(args.body)
|
||||||
},
|
end,
|
||||||
},
|
},
|
||||||
mapping = cmp.mapping.preset.insert({
|
mapping = cmp.mapping.preset.insert({
|
||||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
@@ -76,7 +76,7 @@ local lsp_flags = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
language_servers = {
|
language_servers = {
|
||||||
clangd = {},`
|
clangd = {},
|
||||||
pyright = {}, -- pyright
|
pyright = {}, -- pyright
|
||||||
tsserver = {}, -- typescript-language-server
|
tsserver = {}, -- typescript-language-server
|
||||||
elmls = {}, -- elm-language-server
|
elmls = {}, -- elm-language-server
|
||||||
|
|||||||
@@ -3,27 +3,12 @@ vnoremap a= :Tabularize /=<CR>
|
|||||||
vnoremap a; :Tabularize /::<CR>
|
vnoremap a; :Tabularize /::<CR>
|
||||||
vnoremap a- :Tabularize /-><CR>
|
vnoremap a- :Tabularize /-><CR>
|
||||||
|
|
||||||
nnoremap <C-p> :FZF<CR>
|
|
||||||
nnoremap <C-l> :Rg<CR>
|
|
||||||
let g:fzf_layout = { 'down': '~15%' }
|
|
||||||
|
|
||||||
|
|
||||||
colorscheme dim
|
colorscheme dim
|
||||||
" transparent background
|
|
||||||
hi Normal guibg=NONE ctermbg=NONE
|
|
||||||
|
|
||||||
let mapleader = ","
|
|
||||||
let maplocalleader="\\"
|
|
||||||
|
|
||||||
" noremap <Leader>h :<C-u>split<CR>
|
" noremap <Leader>h :<C-u>split<CR>
|
||||||
" noremap <Leader>v :<C-u>vsplit<CR>
|
" noremap <Leader>v :<C-u>vsplit<CR>
|
||||||
noremap <Leader>gs :Git<CR>
|
noremap <Leader>gs :Git<CR>
|
||||||
noremap <Leader>gc :Git commit<CR>
|
noremap <Leader>gc :Git commit<CR>
|
||||||
noremap <leader>n :bn<CR>
|
|
||||||
noremap <leader>p :bp<CR>
|
|
||||||
noremap <leader>c :bd<CR>
|
|
||||||
noremap <leader>b :Buffers<CR>
|
|
||||||
noremap <leader>t :Tags<CR>
|
|
||||||
|
|
||||||
" reindent whole file
|
" reindent whole file
|
||||||
noremap <leader>i mzgg=G`z
|
noremap <leader>i mzgg=G`z
|
||||||
@@ -34,11 +19,8 @@ nnoremap S :%s//g<Left><Left>
|
|||||||
" Hit `%` on `if` to jump to `else`.
|
" Hit `%` on `if` to jump to `else`.
|
||||||
runtime macros/matchit.vim
|
runtime macros/matchit.vim
|
||||||
|
|
||||||
filetype plugin indent on
|
|
||||||
set autoindent
|
|
||||||
set notitle
|
set notitle
|
||||||
set nospell
|
set nospell
|
||||||
set smartcase ignorecase " you need these two
|
|
||||||
set backspace=indent,eol,start
|
set backspace=indent,eol,start
|
||||||
set hidden
|
set hidden
|
||||||
set ruler
|
set ruler
|
||||||
@@ -49,23 +31,13 @@ set path+=**
|
|||||||
set splitbelow splitright
|
set splitbelow splitright
|
||||||
set wildmenu wildmode=longest,list,full
|
set wildmenu wildmode=longest,list,full
|
||||||
set shortmess+=ac
|
set shortmess+=ac
|
||||||
set nowritebackup noswapfile
|
|
||||||
set mouse=a
|
|
||||||
set showmatch
|
set showmatch
|
||||||
set encoding=utf8 ffs=unix,dos,mac
|
|
||||||
set smartindent
|
set smartindent
|
||||||
set wrap
|
|
||||||
set hlsearch
|
set hlsearch
|
||||||
set clipboard=unnamedplus
|
|
||||||
set nopaste
|
|
||||||
set list listchars=tab:⇥\ ,extends:❯,precedes:❮,nbsp:␣,trail:· showbreak=¬
|
|
||||||
set foldlevelstart=30
|
set foldlevelstart=30
|
||||||
|
|
||||||
nnoremap <C-H> :set nohlsearch
|
nnoremap <C-H> :set nohlsearch
|
||||||
|
|
||||||
iabbrev ddate <C-R>=strftime("%F")<CR>
|
|
||||||
iabbrev dtime <C-R>=strftime("%F %T")<CR>
|
|
||||||
|
|
||||||
fun! TrimWhitespace()
|
fun! TrimWhitespace()
|
||||||
let l:save = winsaveview()
|
let l:save = winsaveview()
|
||||||
keeppatterns %s/\s\+$//e
|
keeppatterns %s/\s\+$//e
|
||||||
|
|||||||
28
lib/vim/shared.vim
Normal file
28
lib/vim/shared.vim
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
nnoremap <C-p> :FZF<CR>
|
||||||
|
nnoremap <C-l> :Rg<CR>
|
||||||
|
let g:fzf_layout = { 'down': '~15%' }
|
||||||
|
|
||||||
|
" transparent background
|
||||||
|
hi Normal guibg=NONE ctermbg=NONE
|
||||||
|
|
||||||
|
let mapleader = ","
|
||||||
|
let maplocalleader="\\"
|
||||||
|
noremap <leader>n :bn<CR>
|
||||||
|
noremap <leader>p :bp<CR>
|
||||||
|
noremap <leader>c :bd<CR>
|
||||||
|
noremap <leader>b :Buffers<CR>
|
||||||
|
noremap <leader>t :Tags<CR>
|
||||||
|
|
||||||
|
filetype plugin indent on
|
||||||
|
set autoindent
|
||||||
|
set smartcase ignorecase " you need these two
|
||||||
|
set nowritebackup noswapfile
|
||||||
|
set mouse=a
|
||||||
|
set encoding=utf8 ffs=unix,dos,mac
|
||||||
|
set wrap
|
||||||
|
set list listchars=tab:⇥\ ,extends:❯,precedes:❮,nbsp:␣,trail:· showbreak=¬
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
set nopaste
|
||||||
|
|
||||||
|
iabbrev ddate <C-R>=strftime("%F")<CR>
|
||||||
|
iabbrev dtime <C-R>=strftime("%F %T")<CR>
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
coreutils,
|
coreutils,
|
||||||
noteDirectory ? "~/cloud/syncthing/obsidian",
|
noteDirectory ? "~/cloud/syncthing/obsidian",
|
||||||
currentDates ? false,
|
currentDates ? false,
|
||||||
|
niveumPackages,
|
||||||
}:
|
}:
|
||||||
writers.writeDashBin "notemenu" ''
|
writers.writeDashBin "notemenu" ''
|
||||||
set -efu
|
set -efu
|
||||||
@@ -23,6 +24,6 @@ writers.writeDashBin "notemenu" ''
|
|||||||
} | rofi -dmenu -i -p 'notes')
|
} | rofi -dmenu -i -p 'notes')
|
||||||
if test "$note_file"
|
if test "$note_file"
|
||||||
then
|
then
|
||||||
alacritty --working-directory ${noteDirectory} -e "$EDITOR" "$note_file"
|
alacritty --working-directory ${noteDirectory} -e ${niveumPackages.obsidian-vim}/bin/nvim "$note_file"
|
||||||
fi
|
fi
|
||||||
''
|
''
|
||||||
|
|||||||
@@ -1,17 +1,29 @@
|
|||||||
{
|
{
|
||||||
neovim,
|
neovim,
|
||||||
vimPlugins,
|
vimPlugins,
|
||||||
vault ? "~/cloud/syncthing/obsidian/",
|
obsidiantVaultDirectory ? "~/cloud/syncthing/obsidian/",
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
neovim.override {
|
neovim.override {
|
||||||
configure = {
|
configure = {
|
||||||
customRC = ''
|
customRC = ''
|
||||||
let g:vimwiki_list = [{'path': '${vault}',
|
source ${../lib/vim/shared.vim}
|
||||||
|
|
||||||
|
cd ${obsidiantVaultDirectory}
|
||||||
|
|
||||||
|
let g:vimwiki_list = [{'path': '${obsidiantVaultDirectory}',
|
||||||
\ 'syntax': 'markdown', 'ext': '.md'}]
|
\ 'syntax': 'markdown', 'ext': '.md'}]
|
||||||
|
|
||||||
|
let NERDTreeSortOrder = ['[[-timestamp]]']
|
||||||
|
|
||||||
|
" Start NERDTree and put the cursor back in the other window.
|
||||||
|
autocmd VimEnter * NERDTree ${obsidiantVaultDirectory} | wincmd p
|
||||||
'';
|
'';
|
||||||
packages.nvim.start = [
|
packages.nvim.start = [
|
||||||
vimPlugins.vimwiki
|
vimPlugins.vimwiki
|
||||||
|
vimPlugins.nerdtree
|
||||||
|
vimPlugins.fzf-vim
|
||||||
|
vimPlugins.fzfWrapper
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,9 +8,9 @@
|
|||||||
}: (neovim.override {
|
}: (neovim.override {
|
||||||
configure = {
|
configure = {
|
||||||
customRC = ''
|
customRC = ''
|
||||||
luafile ${../lib/vim/init.lua}
|
source ${../lib/vim/shared.vim}
|
||||||
|
|
||||||
source ${../lib/vim/init.vim}
|
source ${../lib/vim/init.vim}
|
||||||
|
luafile ${../lib/vim/init.lua}
|
||||||
'';
|
'';
|
||||||
packages.nvim = with vimPlugins; {
|
packages.nvim = with vimPlugins; {
|
||||||
start = [
|
start = [
|
||||||
|
|||||||
Reference in New Issue
Block a user