extract neovim

This commit is contained in:
Tristan 2024-01-05 19:44:05 +00:00
parent be3aecc343
commit a93abe6f04
13 changed files with 113 additions and 101 deletions

View file

@ -7,8 +7,6 @@
with lib; let
editor = config.programs.editor;
pkg = editor.package;
terminal = config.programs.terminal.package;
termcmd = "${terminal}/bin/${terminal.pname}";
menu = config.programs.menu.package + config.programs.menu.dmenuCommand;
in {
options.programs = {
@ -27,67 +25,15 @@ in {
programs.vscode = {
enable = true;
package = editor.package;
extensions =
if editor.neovim
then
with pkgs; [
vscode-extensions.asvetliakov.vscode-neovim
]
else [];
userSettings =
{
"keyboard.dispatch" = "keyCode";
"terminal.integrated.sendKeybindingsToShell" = true;
"aws.telemetry" = false;
"gitlens.telemetry.enabled" = false;
"redhat.telemetry.enabled" = false;
"cSpell.language" = "en,en-GB";
}
// (
if editor.neovim
then {
"vscode-neovim.neovimExecutablePaths.linux" = "${pkgs.neovim}/bin/nvim";
"extensions.experimental.affinity" = {
"asvetliakov.vscode-neovim" = 1;
};
}
else {}
);
};
programs.neovim = mkIf editor.neovim {
enable = true;
defaultEditor = true;
extraLuaConfig = ''
${builtins.readFile ./neovim/config.lua}
'';
extraPackages = with pkgs; [
nodePackages_latest.typescript-language-server
vscode-langservers-extracted
gopls
nil
];
plugins = with pkgs.vimPlugins; [
vim-surround
vim-commentary
{
plugin = telescope-nvim;
type = "lua";
config = ''
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
'';
}
{
plugin = nvim-lspconfig;
type = "lua";
config = builtins.readFile ./neovim/lspconfig.lua;
}
firenvim
];
extensions = [];
userSettings = {
"keyboard.dispatch" = "keyCode";
"terminal.integrated.sendKeybindingsToShell" = true;
"aws.telemetry" = false;
"gitlens.telemetry.enabled" = false;
"redhat.telemetry.enabled" = false;
"cSpell.language" = "en,en-GB";
};
};
}
];
@ -99,12 +45,7 @@ in {
code_dir=~/Documents/code
cd $code_dir
repo=$({ ls && echo clone-repo; } | ${menu})
case $repo in
clone-repo)
url=$(wl-paste)
${termcmd} -e -- git clone "$url" ;;
*) [ -e "$repo" ] && ${pkg}/bin/${pkg.executableName} $repo ;;
esac
[ -e "$repo" ] && ${pkg}/bin/${pkg.executableName} $repo
'';
install = false;
hotkeys = [{key = "C";}];