Get rid of project-specific vim
This commit is contained in:
parent
1afb00a3de
commit
0459c372a0
9 changed files with 182 additions and 317 deletions
|
@ -1,145 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
customPlugins.snow-color-theme = pkgs.vimUtils.buildVimPlugin {
|
|
||||||
name = "snow";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "nightsense";
|
|
||||||
repo = "snow";
|
|
||||||
rev = "f9800e987e404efed4748fe8098e04ddbec9770b";
|
|
||||||
sha256 = "099fky1bpppac5785bhx1jc26gfpm8n837p8487j1rf1lwq83q33";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
customRC = ''
|
|
||||||
set autoread
|
|
||||||
"" Theming
|
|
||||||
|
|
||||||
set termguicolors
|
|
||||||
set background=light
|
|
||||||
colorscheme snow
|
|
||||||
|
|
||||||
"" General settings
|
|
||||||
|
|
||||||
" Undo over sessions
|
|
||||||
set undofile
|
|
||||||
set undodir=~/.cache/nvimundo
|
|
||||||
|
|
||||||
" Automatically save sessions on exit and load them on start
|
|
||||||
function! MakeSession()
|
|
||||||
let b:sessiondir = $HOME . "/.config/nvim/sessions" . getcwd()
|
|
||||||
if (filewritable(b:sessiondir) != 2)
|
|
||||||
exe 'silent !mkdir -p ' b:sessiondir
|
|
||||||
redraw!
|
|
||||||
endif
|
|
||||||
let b:filename = b:sessiondir . '/session.vim'
|
|
||||||
exe "mksession! " . b:filename
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! LoadSession()
|
|
||||||
let b:sessiondir = $HOME . "/.config/nvim/sessions" . getcwd()
|
|
||||||
let b:sessionfile = b:sessiondir . "/session.vim"
|
|
||||||
if (filereadable(b:sessionfile))
|
|
||||||
exe 'source ' b:sessionfile
|
|
||||||
else
|
|
||||||
echo "No session loaded."
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
if(argc() == 0)
|
|
||||||
au VimEnter * nested :call LoadSession()
|
|
||||||
au VimLeave * :call MakeSession()
|
|
||||||
endif
|
|
||||||
|
|
||||||
"" Filetype configuration
|
|
||||||
|
|
||||||
" Base settings for all files
|
|
||||||
|
|
||||||
syntax enable
|
|
||||||
set number
|
|
||||||
set showcmd
|
|
||||||
set scrolloff=8
|
|
||||||
set expandtab
|
|
||||||
set tabstop=4
|
|
||||||
set shiftwidth=4
|
|
||||||
set linebreak
|
|
||||||
|
|
||||||
set list
|
|
||||||
set listchars=tab:·\ ,trail:·
|
|
||||||
set inccommand=split
|
|
||||||
set clipboard=unnamedplus
|
|
||||||
|
|
||||||
filetype plugin indent on
|
|
||||||
|
|
||||||
"" Fuzzy search in vim
|
|
||||||
|
|
||||||
function! s:completedFiles(winid, filename, ...) abort
|
|
||||||
bdelete!
|
|
||||||
call win_gotoid(a:winid)
|
|
||||||
if filereadable(a:filename)
|
|
||||||
let lines = readfile(a:filename)
|
|
||||||
if !empty(lines)
|
|
||||||
exe ':e ' . lines[0]
|
|
||||||
endif
|
|
||||||
call delete(a:filename)
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! FzyFiles()
|
|
||||||
let file = tempname()
|
|
||||||
let winid = win_getid()
|
|
||||||
let cmd = split(&shell) + split(&shellcmdflag) + ["${pkgs.ripgrep.out}/bin/rg --files --hidden -g '!/.git' --smart-case | ${pkgs.fzy.out}/bin/fzy > " . file]
|
|
||||||
let F = function('s:completedFiles', [winid, file])
|
|
||||||
botright 10 new
|
|
||||||
call termopen(cmd, {'on_exit': F})
|
|
||||||
startinsert
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! s:completedGrep(winid, filename, ...) abort
|
|
||||||
bdelete!
|
|
||||||
call win_gotoid(a:winid)
|
|
||||||
if filereadable(a:filename)
|
|
||||||
let lines = readfile(a:filename)
|
|
||||||
if !empty(lines)
|
|
||||||
let list = split(lines[0], ':')
|
|
||||||
let file = list[0]
|
|
||||||
let line = list[1]
|
|
||||||
exe ':e ' . file
|
|
||||||
exe line
|
|
||||||
endif
|
|
||||||
call delete(a:filename)
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! FzyGrep()
|
|
||||||
let file = tempname()
|
|
||||||
let winid = win_getid()
|
|
||||||
let cmd = split(&shell) + split(&shellcmdflag) + ["${pkgs.ripgrep.out}/bin/rg --vimgrep --hidden -g '!/.git' '^' | ${pkgs.fzy.out}/bin/fzy > " . file]
|
|
||||||
let F = function('s:completedGrep', [winid, file])
|
|
||||||
botright 10 new
|
|
||||||
call termopen(cmd, {'on_exit': F})
|
|
||||||
startinsert
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
nnoremap <C-f> :call FzyFiles()<CR>
|
|
||||||
nnoremap <C-g> :call FzyGrep()<CR>
|
|
||||||
|
|
||||||
"" Plugin configuration
|
|
||||||
let g:ale_fixers = { '*': ['remove_trailing_lines', 'trim_whitespace'] }
|
|
||||||
let g:ale_fix_on_save = 1
|
|
||||||
|
|
||||||
let g:deoplete#enable_at_startup = 1
|
|
||||||
'';
|
|
||||||
vam.knownPlugins = pkgs.vimPlugins // customPlugins;
|
|
||||||
vam.pluginDictionaries = [
|
|
||||||
{
|
|
||||||
names = [
|
|
||||||
"ale"
|
|
||||||
"auto-pairs"
|
|
||||||
"deoplete-nvim"
|
|
||||||
"editorconfig-vim"
|
|
||||||
"snow-color-theme"
|
|
||||||
"vim-nix"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,11 +1,185 @@
|
||||||
with import <nixpkgs> { };
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
customPlugins = {
|
||||||
|
snow-color-theme = pkgs.vimUtils.buildVimPlugin {
|
||||||
|
name = "snow";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "nightsense";
|
||||||
|
repo = "snow";
|
||||||
|
rev = "f9800e987e404efed4748fe8098e04ddbec9770b";
|
||||||
|
sha256 = "099fky1bpppac5785bhx1jc26gfpm8n837p8487j1rf1lwq83q33";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kotlin-vim = pkgs.vimUtils.buildVimPlugin {
|
||||||
|
name = "kotlin-vim";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "udalov";
|
||||||
|
repo = "kotlin-vim";
|
||||||
|
rev = "b9fa728701a0aa0b9a2ffe92f10880348fc27a8f";
|
||||||
|
sha256 = "1yqzxabhpc4jbdlzhsysp0vi1ayqg0vnpysvx4ynd9961q2fk3sz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
jdtls = import ../../packages/jdtls/default.nix { inherit pkgs; stdenv = pkgs.stdenv; };
|
||||||
|
kotlinls = import ../../packages/kotlin-language-server/default.nix { inherit pkgs; };
|
||||||
|
nodePackages = import ../../packages/node/default.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
home-manager.users.charlotte = { pkgs, ... }: {
|
home-manager.users.charlotte = { pkgs, ... }: {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
(
|
(
|
||||||
pkgs.neovim.override {
|
pkgs.neovim.override {
|
||||||
configure = (import ./base.nix { inherit pkgs; });
|
configure = {
|
||||||
|
customRC = ''
|
||||||
|
set autoread
|
||||||
|
"" Theming
|
||||||
|
|
||||||
|
set termguicolors
|
||||||
|
set background=light
|
||||||
|
colorscheme snow
|
||||||
|
|
||||||
|
"" General settings
|
||||||
|
|
||||||
|
" Undo over sessions
|
||||||
|
set undofile
|
||||||
|
set undodir=~/.cache/nvimundo
|
||||||
|
|
||||||
|
" Automatically save sessions on exit and load them on start
|
||||||
|
function! MakeSession()
|
||||||
|
let b:sessiondir = $HOME . "/.config/nvim/sessions" . getcwd()
|
||||||
|
if (filewritable(b:sessiondir) != 2)
|
||||||
|
exe 'silent !mkdir -p ' b:sessiondir
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
let b:filename = b:sessiondir . '/session.vim'
|
||||||
|
exe "mksession! " . b:filename
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! LoadSession()
|
||||||
|
let b:sessiondir = $HOME . "/.config/nvim/sessions" . getcwd()
|
||||||
|
let b:sessionfile = b:sessiondir . "/session.vim"
|
||||||
|
if (filereadable(b:sessionfile))
|
||||||
|
exe 'source ' b:sessionfile
|
||||||
|
else
|
||||||
|
echo "No session loaded."
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
if(argc() == 0)
|
||||||
|
au VimEnter * nested :call LoadSession()
|
||||||
|
au VimLeave * :call MakeSession()
|
||||||
|
endif
|
||||||
|
|
||||||
|
"" Filetype configuration
|
||||||
|
|
||||||
|
" Base settings for all files
|
||||||
|
|
||||||
|
syntax enable
|
||||||
|
set number
|
||||||
|
set showcmd
|
||||||
|
set scrolloff=8
|
||||||
|
set expandtab
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set linebreak
|
||||||
|
|
||||||
|
set list
|
||||||
|
set listchars=tab:·\ ,trail:·
|
||||||
|
set inccommand=split
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
|
||||||
|
filetype plugin indent on
|
||||||
|
|
||||||
|
"" Fuzzy search in vim
|
||||||
|
|
||||||
|
function! s:completedFiles(winid, filename, ...) abort
|
||||||
|
bdelete!
|
||||||
|
call win_gotoid(a:winid)
|
||||||
|
if filereadable(a:filename)
|
||||||
|
let lines = readfile(a:filename)
|
||||||
|
if !empty(lines)
|
||||||
|
exe ':e ' . lines[0]
|
||||||
|
endif
|
||||||
|
call delete(a:filename)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! FzyFiles()
|
||||||
|
let file = tempname()
|
||||||
|
let winid = win_getid()
|
||||||
|
let cmd = split(&shell) + split(&shellcmdflag) + ["${pkgs.ripgrep.out}/bin/rg --files --hidden -g '!/.git' --smart-case | ${pkgs.fzy.out}/bin/fzy > " . file]
|
||||||
|
let F = function('s:completedFiles', [winid, file])
|
||||||
|
botright 10 new
|
||||||
|
call termopen(cmd, {'on_exit': F})
|
||||||
|
startinsert
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:completedGrep(winid, filename, ...) abort
|
||||||
|
bdelete!
|
||||||
|
call win_gotoid(a:winid)
|
||||||
|
if filereadable(a:filename)
|
||||||
|
let lines = readfile(a:filename)
|
||||||
|
if !empty(lines)
|
||||||
|
let list = split(lines[0], ':')
|
||||||
|
let file = list[0]
|
||||||
|
let line = list[1]
|
||||||
|
exe ':e ' . file
|
||||||
|
exe line
|
||||||
|
endif
|
||||||
|
call delete(a:filename)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! FzyGrep()
|
||||||
|
let file = tempname()
|
||||||
|
let winid = win_getid()
|
||||||
|
let cmd = split(&shell) + split(&shellcmdflag) + ["${pkgs.ripgrep.out}/bin/rg --vimgrep --hidden -g '!/.git' '^' | ${pkgs.fzy.out}/bin/fzy > " . file]
|
||||||
|
let F = function('s:completedGrep', [winid, file])
|
||||||
|
botright 10 new
|
||||||
|
call termopen(cmd, {'on_exit': F})
|
||||||
|
startinsert
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
nnoremap <C-f> :call FzyFiles()<CR>
|
||||||
|
nnoremap <C-g> :call FzyGrep()<CR>
|
||||||
|
|
||||||
|
"" Plugin configuration
|
||||||
|
let g:ale_fixers = { '*': ['remove_trailing_lines', 'trim_whitespace'] }
|
||||||
|
let g:ale_fix_on_save = 1
|
||||||
|
|
||||||
|
let g:deoplete#enable_at_startup = 1
|
||||||
|
|
||||||
|
" Required for operations modifying multiple buffers like rename
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
let g:LanguageClient_serverCommands = {
|
||||||
|
\ 'vue': ['${nodePackages.vue-language-server}/bin/vls'],
|
||||||
|
\ 'javascript': ['${nodePackages.javascript-typescript-langserver}/bin/javascript-typescript-stdio'],
|
||||||
|
\ 'typescript': ['${nodePackages.typescript-language-server}/bin/typescript-language-server', '--stdio'],
|
||||||
|
\ 'java': ['${jdtls}/bin/jdtls'],
|
||||||
|
\ 'kotlin': ['${kotlinls}/bin/kotlin-language-server']
|
||||||
|
\ 'ruby': ['${pkgs.solargraph}/bin/solargraph', 'stdio'],
|
||||||
|
\ }
|
||||||
|
'';
|
||||||
|
vam.knownPlugins = pkgs.vimPlugins // customPlugins;
|
||||||
|
vam.pluginDictionaries = [
|
||||||
|
{
|
||||||
|
names = [
|
||||||
|
"ale"
|
||||||
|
"auto-pairs"
|
||||||
|
"deoplete-nvim"
|
||||||
|
"editorconfig-vim"
|
||||||
|
"kotlin-vim"
|
||||||
|
"LanguageClient-neovim"
|
||||||
|
"snow-color-theme"
|
||||||
|
"vim-ledger"
|
||||||
|
"vim-nix"
|
||||||
|
"vim-ruby"
|
||||||
|
"vim-vue"
|
||||||
|
"yats-vim"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|
|
@ -8,7 +8,7 @@ buildGradle {
|
||||||
envSpec = ./gradle-env.json;
|
envSpec = ./gradle-env.json;
|
||||||
src = fetchTarball {
|
src = fetchTarball {
|
||||||
url = "https://github.com/fwcd/kotlin-language-server/archive/master.tar.gz";
|
url = "https://github.com/fwcd/kotlin-language-server/archive/master.tar.gz";
|
||||||
sha256 = "0spcxrk6gyxrrwnffsmr2f5y8zs0nq1fq2pkscih56zxz0v3dm50";
|
sha256 = "16qddjwcj1n79c4p9dqlj1vg6yg5rkvzb8r15jbyxsy82mp6ib3k";
|
||||||
};
|
};
|
||||||
gradleFlags = [ "server:installDist" ];
|
gradleFlags = [ "server:installDist" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
let
|
let
|
||||||
pkgs = import <nixpkgs> { config.android_sdk.accept_license = true; };
|
pkgs = import <nixpkgs> { config.android_sdk.accept_license = true; };
|
||||||
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
|
|
||||||
jdtls = import ../packages/jdtls/default.nix { inherit pkgs; stdenv = pkgs.stdenv; };
|
|
||||||
kotlinls = import ../packages/kotlin-language-server/default.nix { inherit pkgs; };
|
|
||||||
buildToolsVersion = "28.0.3";
|
buildToolsVersion = "28.0.3";
|
||||||
composed = pkgs.androidenv.composeAndroidPackages {
|
composed = pkgs.androidenv.composeAndroidPackages {
|
||||||
toolsVersion = "26.1.1";
|
toolsVersion = "26.1.1";
|
||||||
|
@ -24,15 +21,6 @@ let
|
||||||
# useGoogleTVAddOns = false;
|
# useGoogleTVAddOns = false;
|
||||||
# includeExtras = [ "extras;google;gcm" ];
|
# includeExtras = [ "extras;google;gcm" ];
|
||||||
};
|
};
|
||||||
customPlugins.kotlin-vim = pkgs.vimUtils.buildVimPlugin {
|
|
||||||
name = "kotlin-vim";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "udalov";
|
|
||||||
repo = "kotlin-vim";
|
|
||||||
rev = "b9fa728701a0aa0b9a2ffe92f10880348fc27a8f";
|
|
||||||
sha256 = "1yqzxabhpc4jbdlzhsysp0vi1ayqg0vnpysvx4ynd9961q2fk3sz";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
gradle-fhs-nix = pkgs.writeText "gradle-fhs.nix" ''
|
gradle-fhs-nix = pkgs.writeText "gradle-fhs.nix" ''
|
||||||
{ run }:
|
{ run }:
|
||||||
let
|
let
|
||||||
|
@ -73,31 +61,6 @@ pkgs.mkShell {
|
||||||
gradle-run-script
|
gradle-run-script
|
||||||
sign-release
|
sign-release
|
||||||
jdk11
|
jdk11
|
||||||
jdtls
|
|
||||||
(
|
|
||||||
neovim.override {
|
|
||||||
configure = {
|
|
||||||
customRC = baseVimConfig.customRC + ''
|
|
||||||
" Required for operations modifying multiple buffers like rename
|
|
||||||
set hidden
|
|
||||||
|
|
||||||
let g:LanguageClient_serverCommands = {
|
|
||||||
\ 'java': ['${jdtls}/bin/jdtls'],
|
|
||||||
\ 'kotlin': ['${kotlinls}/bin/kotlin-language-server']
|
|
||||||
\ }
|
|
||||||
'';
|
|
||||||
vam.knownPlugins = baseVimConfig.vam.knownPlugins // customPlugins;
|
|
||||||
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or [ ]) ++ [
|
|
||||||
{
|
|
||||||
names = [
|
|
||||||
"kotlin-vim"
|
|
||||||
"LanguageClient-neovim"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
];
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
export ANDROID_SDK_ROOT="${composed.androidsdk}/libexec/android-sdk/"
|
export ANDROID_SDK_ROOT="${composed.androidsdk}/libexec/android-sdk/"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
let
|
let
|
||||||
pkgs = import <nixpkgs> { };
|
pkgs = import <nixpkgs> { };
|
||||||
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
|
baseVimConfig = import ../configurations/neovim/base.nix { inherit pkgs; };
|
||||||
in
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
|
@ -9,29 +9,6 @@ pkgs.mkShell {
|
||||||
ruby_2_7
|
ruby_2_7
|
||||||
taglib
|
taglib
|
||||||
zlib
|
zlib
|
||||||
(
|
|
||||||
neovim.override {
|
|
||||||
configure = {
|
|
||||||
customRC = baseVimConfig.customRC + ''
|
|
||||||
" Required for operations modifying multiple buffers like rename
|
|
||||||
set hidden
|
|
||||||
|
|
||||||
let g:LanguageClient_serverCommands = {
|
|
||||||
\ 'ruby': ['${solargraph}/bin/solargraph', 'stdio'],
|
|
||||||
\ }
|
|
||||||
'';
|
|
||||||
vam.knownPlugins = baseVimConfig.vam.knownPlugins;
|
|
||||||
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or [ ]) ++ [
|
|
||||||
{
|
|
||||||
names = [
|
|
||||||
"LanguageClient-neovim"
|
|
||||||
"vim-ruby"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
(
|
(
|
||||||
pkgs.writeScriptBin "start-db" ''
|
pkgs.writeScriptBin "start-db" ''
|
||||||
#!/${pkgs.zsh}/bin/zsh
|
#!/${pkgs.zsh}/bin/zsh
|
||||||
|
|
|
@ -1,34 +1,10 @@
|
||||||
let
|
let
|
||||||
pkgs = import <nixpkgs> { };
|
pkgs = import <nixpkgs> { };
|
||||||
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
|
|
||||||
nodePackages = import ../packages/node/default.nix { inherit pkgs; };
|
|
||||||
in
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
nodejs-12_x
|
nodejs-12_x
|
||||||
|
python38
|
||||||
yarn
|
yarn
|
||||||
(
|
|
||||||
neovim.override {
|
|
||||||
configure = {
|
|
||||||
customRC = baseVimConfig.customRC + ''
|
|
||||||
" Required for operations modifying multiple buffers like rename
|
|
||||||
set hidden
|
|
||||||
|
|
||||||
let g:LanguageClient_serverCommands = {
|
|
||||||
\ 'vue': ['${nodePackages.vue-language-server}/bin/vls'],
|
|
||||||
\ }
|
|
||||||
'';
|
|
||||||
vam.knownPlugins = baseVimConfig.vam.knownPlugins;
|
|
||||||
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or [ ]) ++ [
|
|
||||||
{
|
|
||||||
names = [
|
|
||||||
"LanguageClient-neovim"
|
|
||||||
"vim-vue"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
let
|
let
|
||||||
pkgs = import <nixpkgs> { };
|
pkgs = import <nixpkgs> { };
|
||||||
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
|
|
||||||
nodePackages = import ../packages/node/default.nix { inherit pkgs; };
|
|
||||||
in
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
|
@ -13,7 +11,7 @@ pkgs.mkShell {
|
||||||
zlib
|
zlib
|
||||||
(
|
(
|
||||||
pkgs.writeScriptBin "start-db" ''
|
pkgs.writeScriptBin "start-db" ''
|
||||||
#!${pkgs.zsh}/bin/zsh
|
#!${zsh}/bin/zsh
|
||||||
|
|
||||||
trap "docker stop dodona-db" 0
|
trap "docker stop dodona-db" 0
|
||||||
trap "docker stop dodona-cache" 0
|
trap "docker stop dodona-cache" 0
|
||||||
|
@ -25,32 +23,6 @@ pkgs.mkShell {
|
||||||
wait $child
|
wait $child
|
||||||
''
|
''
|
||||||
)
|
)
|
||||||
(
|
|
||||||
neovim.override {
|
|
||||||
configure = {
|
|
||||||
customRC = baseVimConfig.customRC + ''
|
|
||||||
" Required for operations modifying multiple buffers like rename
|
|
||||||
set hidden
|
|
||||||
|
|
||||||
let g:LanguageClient_serverCommands = {
|
|
||||||
\ 'ruby': ['${solargraph}/bin/solargraph', 'stdio'],
|
|
||||||
\ 'javascript': ['${nodePackages.javascript-typescript-langserver}/bin/javascript-typescript-stdio'],
|
|
||||||
\ 'typescript': ['${nodePackages.typescript-language-server}/bin/typescript-language-server', '--stdio'],
|
|
||||||
\ }
|
|
||||||
'';
|
|
||||||
vam.knownPlugins = baseVimConfig.vam.knownPlugins;
|
|
||||||
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or [ ]) ++ [
|
|
||||||
{
|
|
||||||
names = [
|
|
||||||
"LanguageClient-neovim"
|
|
||||||
"vim-ruby"
|
|
||||||
"yats-vim"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
];
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
export DATABASE_URL="mysql2://root:dodona@127.0.0.1:3306/dodona"
|
export DATABASE_URL="mysql2://root:dodona@127.0.0.1:3306/dodona"
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
let
|
let
|
||||||
pkgs = import <nixpkgs> { };
|
pkgs = import <nixpkgs> { };
|
||||||
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
|
baseVimConfig = import ../configurations/neovim/base.nix { inherit pkgs; };
|
||||||
jdtls = import ../packages/jdtls/default.nix { inherit pkgs; stdenv = pkgs.stdenv; };
|
|
||||||
extraRpath = pkgs.stdenv.lib.strings.makeLibraryPath (with pkgs; [ ffmpeg ]);
|
extraRpath = pkgs.stdenv.lib.strings.makeLibraryPath (with pkgs; [ ffmpeg ]);
|
||||||
in
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
|
@ -15,40 +14,6 @@ pkgs.mkShell {
|
||||||
''
|
''
|
||||||
)
|
)
|
||||||
jdk11
|
jdk11
|
||||||
jdtls
|
|
||||||
openjfx11
|
openjfx11
|
||||||
(
|
|
||||||
pkgs.writeScriptBin "pmd" ''
|
|
||||||
#!${pkgs.zsh}/bin/zsh
|
|
||||||
|
|
||||||
${pkgs.pmd}/bin/run.sh pmd $@
|
|
||||||
''
|
|
||||||
)
|
|
||||||
(
|
|
||||||
neovim.override {
|
|
||||||
configure = {
|
|
||||||
customRC = baseVimConfig.customRC + ''
|
|
||||||
" Required for operations modifying multiple buffers like rename
|
|
||||||
set hidden
|
|
||||||
|
|
||||||
let g:LanguageClient_serverCommands = {
|
|
||||||
\ 'java': ['${jdtls}/bin/jdtls'],
|
|
||||||
\ }
|
|
||||||
|
|
||||||
let g:ale_linters = {
|
|
||||||
\ 'java': ['pmd'],
|
|
||||||
\}
|
|
||||||
'';
|
|
||||||
vam.knownPlugins = baseVimConfig.vam.knownPlugins;
|
|
||||||
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or [ ]) ++ [
|
|
||||||
{
|
|
||||||
names = [
|
|
||||||
"LanguageClient-neovim"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
let
|
|
||||||
pkgs = import <nixpkgs> { };
|
|
||||||
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
|
|
||||||
in
|
|
||||||
pkgs.mkShell {
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
(
|
|
||||||
neovim.override {
|
|
||||||
configure = {
|
|
||||||
customRC = baseVimConfig.customRC;
|
|
||||||
vam.knownPlugins = baseVimConfig.vam.knownPlugins;
|
|
||||||
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or [ ]) ++ [{ name = "vim-ledger"; }];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
)
|
|
||||||
];
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue