mirror of
https://github.com/traxys/Nixfiles.git
synced 2026-03-10 22:51:12 +01:00
switch to neovim flake
This commit is contained in:
parent
561e53549f
commit
1e74ff1f14
13 changed files with 554 additions and 1577 deletions
1137
flake.lock
generated
1137
flake.lock
generated
File diff suppressed because it is too large
Load diff
270
flake.nix
270
flake.nix
|
|
@ -36,137 +36,9 @@
|
|||
url = "github:romkatv/powerlevel10k";
|
||||
flake = false;
|
||||
};
|
||||
"plantuml-syntax" = {
|
||||
url = "github:aklt/plantuml-syntax";
|
||||
flake = false;
|
||||
};
|
||||
"nvim-web-devicons" = {
|
||||
url = "github:kyazdani42/nvim-web-devicons";
|
||||
flake = false;
|
||||
};
|
||||
"nvim-treesitter" = {
|
||||
url = "github:nvim-treesitter/nvim-treesitter";
|
||||
flake = false;
|
||||
};
|
||||
"nvim-lspconfig" = {
|
||||
url = "github:neovim/nvim-lspconfig";
|
||||
flake = false;
|
||||
};
|
||||
"lsp-status.nvim" = {
|
||||
url = "github:nvim-lua/lsp-status.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"nvim-lightbulb" = {
|
||||
url = "github:kosayoda/nvim-lightbulb";
|
||||
flake = false;
|
||||
};
|
||||
"indentLine" = {
|
||||
url = "github:Yggdroot/indentLine";
|
||||
flake = false;
|
||||
};
|
||||
"gitsigns.nvim" = {
|
||||
url = "github:lewis6991/gitsigns.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"plenary.nvim" = {
|
||||
url = "github:nvim-lua/plenary.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"vim-moonfly-colors" = {
|
||||
url = "github:bluz71/vim-moonfly-colors";
|
||||
flake = false;
|
||||
};
|
||||
"vim-vsnip" = {
|
||||
url = "github:hrsh7th/vim-vsnip";
|
||||
flake = false;
|
||||
};
|
||||
"cmp-nvim-lsp" = {
|
||||
url = "github:hrsh7th/cmp-nvim-lsp";
|
||||
flake = false;
|
||||
};
|
||||
"cmp-buffer" = {
|
||||
url = "github:hrsh7th/cmp-buffer";
|
||||
flake = false;
|
||||
};
|
||||
"cmp-calc" = {
|
||||
url = "github:hrsh7th/cmp-calc";
|
||||
flake = false;
|
||||
};
|
||||
"cmp-path" = {
|
||||
url = "github:hrsh7th/cmp-path";
|
||||
flake = false;
|
||||
};
|
||||
"cmp-latex-symbols" = {
|
||||
url = "github:kdheepak/cmp-latex-symbols";
|
||||
flake = false;
|
||||
};
|
||||
"nvim-cmp" = {
|
||||
url = "github:hrsh7th/nvim-cmp";
|
||||
flake = false;
|
||||
};
|
||||
"vim-Grammalecte" = {
|
||||
url = "github:dpelle/vim-Grammalecte";
|
||||
flake = false;
|
||||
};
|
||||
"vim-LanguageTool" = {
|
||||
url = "github:dpelle/vim-LanguageTool";
|
||||
flake = false;
|
||||
};
|
||||
"lsp_extensions.nvim" = {
|
||||
url = "github:nvim-lua/lsp_extensions.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"lsp_signature.nvim" = {
|
||||
url = "github:ray-x/lsp_signature.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"telescope.nvim" = {
|
||||
url = "github:nvim-telescope/telescope.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"popup.nvim" = {
|
||||
url = "github:nvim-lua/popup.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"galaxyline.nvim" = {
|
||||
url = "github:NTBBloodbath/galaxyline.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"vim-headerguard" = {
|
||||
url = "github:drmikehenry/vim-headerguard";
|
||||
flake = false;
|
||||
};
|
||||
"vim-matchup" = {
|
||||
url = "github:andymass/vim-matchup";
|
||||
flake = false;
|
||||
};
|
||||
"kommentary" = {
|
||||
url = "github:b3nj5m1n/kommentary";
|
||||
flake = false;
|
||||
};
|
||||
"lspkind-nvim" = {
|
||||
url = "github:onsails/lspkind-nvim";
|
||||
flake = false;
|
||||
};
|
||||
"editorconfig-vim" = {
|
||||
url = "github:editorconfig/editorconfig-vim";
|
||||
flake = false;
|
||||
};
|
||||
"null-ls.nvim" = {
|
||||
url = "github:jose-elias-alvarez/null-ls.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"filetype.nvim" = {
|
||||
url = "github:nathom/filetype.nvim";
|
||||
flake = false;
|
||||
};
|
||||
"startuptime.vim" = {
|
||||
url = "github:tweekmonster/startuptime.vim";
|
||||
flake = false;
|
||||
};
|
||||
"nvim-tree.lua" = {
|
||||
url = "github:kyazdani42/nvim-tree.lua";
|
||||
flake = false;
|
||||
nvim-traxys = {
|
||||
url = "github:traxys/nvim-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -177,7 +49,7 @@
|
|||
modules = [
|
||||
({ pkgs, ... }: {
|
||||
nixpkgs.overlays = [
|
||||
inputs.neovim-nightly-overlay.overlay
|
||||
inputs.nvim-traxys.overlay."${system}"
|
||||
(import inputs.nixpkgs-mozilla)
|
||||
];
|
||||
})
|
||||
|
|
@ -196,140 +68,6 @@
|
|||
zsh-nix-shell = inputs.zsh-nix-shell;
|
||||
nix-zsh-completions = inputs.nix-zsh-completions;
|
||||
powerlevel10k = inputs.powerlevel10k;
|
||||
nvim-plugins = [
|
||||
{
|
||||
name = "plantuml-syntax";
|
||||
path = inputs."plantuml-syntax";
|
||||
}
|
||||
{
|
||||
name = "nvim-web-devicons";
|
||||
path = inputs."nvim-web-devicons";
|
||||
}
|
||||
{
|
||||
name = "nvim-treesitter";
|
||||
path = inputs."nvim-treesitter";
|
||||
}
|
||||
{
|
||||
name = "nvim-lspconfig";
|
||||
path = inputs."nvim-lspconfig";
|
||||
}
|
||||
{
|
||||
name = "lsp-status.nvim";
|
||||
path = inputs."lsp-status.nvim";
|
||||
}
|
||||
{
|
||||
name = "nvim-lightbulb";
|
||||
path = inputs."nvim-lightbulb";
|
||||
}
|
||||
{
|
||||
name = "indentLine";
|
||||
path = inputs."indentLine";
|
||||
}
|
||||
{
|
||||
name = "gitsigns.nvim";
|
||||
path = inputs."gitsigns.nvim";
|
||||
}
|
||||
{
|
||||
name = "plenary.nvim";
|
||||
path = inputs."plenary.nvim";
|
||||
}
|
||||
{
|
||||
name = "vim-moonfly-colors";
|
||||
path = inputs."vim-moonfly-colors";
|
||||
}
|
||||
{
|
||||
name = "vim-vsnip";
|
||||
path = inputs."vim-vsnip";
|
||||
}
|
||||
{
|
||||
name = "cmp-nvim-lsp";
|
||||
path = inputs."cmp-nvim-lsp";
|
||||
}
|
||||
{
|
||||
name = "cmp-buffer";
|
||||
path = inputs."cmp-buffer";
|
||||
}
|
||||
{
|
||||
name = "cmp-calc";
|
||||
path = inputs."cmp-calc";
|
||||
}
|
||||
{
|
||||
name = "cmp-path";
|
||||
path = inputs."cmp-path";
|
||||
}
|
||||
{
|
||||
name = "cmp-latex-symbols";
|
||||
path = inputs."cmp-latex-symbols";
|
||||
}
|
||||
{
|
||||
name = "nvim-cmp";
|
||||
path = inputs."nvim-cmp";
|
||||
}
|
||||
{
|
||||
name = "vim-Grammalecte";
|
||||
path = inputs."vim-Grammalecte";
|
||||
}
|
||||
{
|
||||
name = "vim-LanguageTool";
|
||||
path = inputs."vim-LanguageTool";
|
||||
}
|
||||
{
|
||||
name = "lsp_extensions.nvim";
|
||||
path = inputs."lsp_extensions.nvim";
|
||||
}
|
||||
{
|
||||
name = "lsp_signature.nvim";
|
||||
path = inputs."lsp_signature.nvim";
|
||||
}
|
||||
{
|
||||
name = "telescope.nvim";
|
||||
path = inputs."telescope.nvim";
|
||||
}
|
||||
{
|
||||
name = "popup.nvim";
|
||||
path = inputs."popup.nvim";
|
||||
}
|
||||
{
|
||||
name = "galaxyline.nvim";
|
||||
path = inputs."galaxyline.nvim";
|
||||
}
|
||||
{
|
||||
name = "vim-headerguard";
|
||||
path = inputs."vim-headerguard";
|
||||
}
|
||||
{
|
||||
name = "vim-matchup";
|
||||
path = inputs."vim-matchup";
|
||||
}
|
||||
{
|
||||
name = "kommentary";
|
||||
path = inputs."kommentary";
|
||||
}
|
||||
{
|
||||
name = "lspkind-nvim";
|
||||
path = inputs."lspkind-nvim";
|
||||
}
|
||||
{
|
||||
name = "editorconfig-vim";
|
||||
path = inputs."editorconfig-vim";
|
||||
}
|
||||
{
|
||||
name = "null-ls.nvim";
|
||||
path = inputs."null-ls.nvim";
|
||||
}
|
||||
{
|
||||
name = "filetype.nvim";
|
||||
path = inputs."filetype.nvim";
|
||||
}
|
||||
{
|
||||
name = "startuptime.vim";
|
||||
path = inputs."startuptime.vim";
|
||||
}
|
||||
{
|
||||
name = "nvim-tree.lua";
|
||||
path = inputs."nvim-tree.lua";
|
||||
}
|
||||
];
|
||||
};
|
||||
# Optionally, use home-manager.extraSpecialArgs to pass
|
||||
# arguments to home.nix
|
||||
|
|
|
|||
77
flake.nix.in
77
flake.nix.in
|
|
@ -1,77 +0,0 @@
|
|||
{
|
||||
description = "NixOS configuration";
|
||||
|
||||
inputs =
|
||||
{
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||
nixpkgs-mozilla = {
|
||||
url = "github:mozilla/nixpkgs-mozilla";
|
||||
flake = false;
|
||||
};
|
||||
dotacat = {
|
||||
url = "git+https://gitlab.scd31.com/stephen/dotacat.git";
|
||||
flake = false;
|
||||
};
|
||||
rnix-lsp.url = "github:nix-community/rnix-lsp";
|
||||
stylua = {
|
||||
url = "github:johnnymorganz/stylua";
|
||||
flake = false;
|
||||
};
|
||||
naersk.url = "github:nix-community/naersk";
|
||||
fast-syntax-highlighting = {
|
||||
url = "github:z-shell/fast-syntax-highlighting";
|
||||
flake = false;
|
||||
};
|
||||
zsh-nix-shell = {
|
||||
url = "github:chisui/zsh-nix-shell";
|
||||
flake = false;
|
||||
};
|
||||
nix-zsh-completions = {
|
||||
url = "github:spwhitt/nix-zsh-completions";
|
||||
flake = false;
|
||||
};
|
||||
powerlevel10k = {
|
||||
url = "github:romkatv/powerlevel10k";
|
||||
flake = false;
|
||||
};
|
||||
@inputs@
|
||||
};
|
||||
|
||||
outputs = { home-manager, nixpkgs, ... }@inputs: {
|
||||
nixosConfigurations = {
|
||||
ZeNixLaptop = nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
({ pkgs, ... }: {
|
||||
nixpkgs.overlays = [
|
||||
inputs.neovim-nightly-overlay.overlay
|
||||
(import inputs.nixpkgs-mozilla)
|
||||
];
|
||||
})
|
||||
./nixos/configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.traxys = import ./home.nix;
|
||||
home-manager.extraSpecialArgs = {
|
||||
dotacat = inputs.dotacat;
|
||||
rnix-lsp = inputs.rnix-lsp;
|
||||
stylua = inputs.stylua;
|
||||
naersk-lib = inputs.naersk.lib."${system}";
|
||||
fast-syntax-highlighting = inputs.fast-syntax-highlighting;
|
||||
zsh-nix-shell = inputs.zsh-nix-shell;
|
||||
nix-zsh-completions = inputs.nix-zsh-completions;
|
||||
powerlevel10k = inputs.powerlevel10k;
|
||||
@plugins@
|
||||
};
|
||||
# Optionally, use home-manager.extraSpecialArgs to pass
|
||||
# arguments to home.nix
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
19
home.nix
19
home.nix
|
|
@ -8,7 +8,6 @@
|
|||
, zsh-nix-shell
|
||||
, nix-zsh-completions
|
||||
, powerlevel10k
|
||||
, nvim-plugins
|
||||
, ...
|
||||
}:
|
||||
|
||||
|
|
@ -18,16 +17,6 @@ let
|
|||
cargo = rustVersion;
|
||||
rustc = rustVersion;
|
||||
};
|
||||
plugin_path = ".local/share/nvim/site/pack/nix/start/";
|
||||
plugin-files = builtins.listToAttrs (map
|
||||
({ name, path }: {
|
||||
name = "${plugin_path}/${name}";
|
||||
value = {
|
||||
source = path;
|
||||
recursive = true;
|
||||
};
|
||||
})
|
||||
nvim-plugins);
|
||||
localinfo = import ./localinfo.nix;
|
||||
in
|
||||
{
|
||||
|
|
@ -47,7 +36,7 @@ in
|
|||
home.packages = with pkgs; [
|
||||
bitwarden-cli
|
||||
rustup
|
||||
neovim-nightly
|
||||
neovimTraxys
|
||||
rust-analyzer
|
||||
clang-tools
|
||||
nodePackages.vscode-json-languageserver
|
||||
|
|
@ -182,10 +171,6 @@ in
|
|||
};
|
||||
};
|
||||
home.file = {
|
||||
".config/nvim" = {
|
||||
source = ./nvim;
|
||||
recursive = true;
|
||||
};
|
||||
".powerlevel10k" = {
|
||||
source = powerlevel10k;
|
||||
};
|
||||
|
|
@ -196,7 +181,7 @@ in
|
|||
source = ./scripts;
|
||||
recursive = true;
|
||||
};
|
||||
} // plugin-files;
|
||||
};
|
||||
|
||||
# This value determines the Home Manager release that your
|
||||
# configuration is compatible with. This helps avoid breakage
|
||||
|
|
|
|||
1
nvim/.gitignore
vendored
1
nvim/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
|||
plugin
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
vim.o.termguicolors = true
|
||||
vim.cmd("colorscheme moonfly")
|
||||
|
||||
require("tree_sitter")
|
||||
require("lsp")
|
||||
require("completion")
|
||||
require("statusline")
|
||||
|
||||
require("gitsigns").setup()
|
||||
require("nvim-tree").setup({
|
||||
auto_close = true,
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
},
|
||||
})
|
||||
|
||||
vim.o.number = true
|
||||
vim.o.tabstop = 4
|
||||
vim.o.shiftwidth = 4
|
||||
vim.o.ai = true
|
||||
vim.o.scrolloff = 7
|
||||
vim.o.signcolumn = "yes"
|
||||
vim.o.cmdheight = 2
|
||||
vim.o.hidden = true
|
||||
|
||||
vim.g.tex_flavor = "latex"
|
||||
|
||||
vim.o.completeopt = "menuone,noselect"
|
||||
|
||||
vim.g.indentLine_concealcursor = "inc"
|
||||
vim.g.indentLine_conceallevel = 2
|
||||
vim.g.indentLine_fileTypeExclude = { "markdown", "json" }
|
||||
|
||||
vim.g.grammalecte_cli_py = "/usr/bin/grammalecte-cli"
|
||||
latex_ignore = [[
|
||||
typo_guillemets_typographiques_simples_doubles_ouvrants
|
||||
typo_guillemets_typographiques_simples_doubles_fermants
|
||||
esp_milieu_ligne
|
||||
]]
|
||||
vim.g.grammalecte_disable_rules = [[ apostrophe_typographique
|
||||
apostrophe_typographique_après_t
|
||||
espaces_début_ligne espaces_milieu_ligne
|
||||
espaces_fin_de_ligne
|
||||
typo_points_suspension1
|
||||
typo_tiret_incise
|
||||
nbsp_avant_double_ponctuation
|
||||
nbsp_avant_deux_points
|
||||
nbsp_après_chevrons_ouvrants
|
||||
nbsp_avant_chevrons_fermants1
|
||||
unit_nbsp_avant_unités1
|
||||
unit_nbsp_avant_unités2
|
||||
unit_nbsp_avant_unités3
|
||||
typo_espace_manquant_après2 ]] .. latex_ignore
|
||||
|
||||
vim.g.languagetool_cmd = "/usr/bin/languagetool"
|
||||
vim.g.languagetool_lang = "fr"
|
||||
|
||||
vim.api.nvim_set_keymap("n", "bp", "<cmd>Telescope buffers<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "ca", "<cmd>Telescope lsp_code_actions<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "gr", "<cmd>Telescope lsp_references<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "gW", "<cmd>Telescope lsp_workspace_symbols<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "gF", "<cmd>Telescope lsp_document_symbols<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "ft", "<cmd>Telescope file_browser<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "fT", "<cmd>NvimTreeToggle<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "ge", "<cmd>Telescope diagnostics bufnr=0<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "gE", "<cmd>Telescope diagnostics<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "mn", "<cmd>Telescope man_pages sections=1,3,5<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "fg", "<cmd>Telescope git_files<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "ff", "<cmd>lua vim.lsp.buf.formatting_seq_sync()<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "<C-s>", "<cmd>Telescope spell_suggest<CR>", { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap("n", "mk", "<cmd>Telescope keymaps<CR>", { noremap = true, silent = true })
|
||||
|
||||
vim.o.omnifunc = "v:lua.vim.lsp.omnifunc"
|
||||
vim.o.updatetime = 300
|
||||
|
||||
require("nvim-web-devicons").setup({ default = true })
|
||||
require("filetype").setup({
|
||||
overrides = {
|
||||
extensions = {
|
||||
nix = "nix",
|
||||
rsh = "rsh",
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
--autocmd CursorHold * lua vim.lsp.diagnostic.show_line_diagnostics()
|
||||
|
||||
vim.cmd([[
|
||||
command SpellFr setlocal spell spelllang=fr
|
||||
|
||||
filetype plugin indent on
|
||||
|
||||
autocmd CursorHold * lua vim.diagnostic.open_float()
|
||||
autocmd CursorHold,CursorHoldI * lua require'nvim-lightbulb'.update_lightbulb()
|
||||
autocmd CursorHold,CursorHoldI *.rs :lua require'lsp_extensions'.inlay_hints{}
|
||||
]])
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
require("lsp_signature").on_attach()
|
||||
|
||||
local cmp = require("cmp")
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` user.
|
||||
end,
|
||||
},
|
||||
mapping = {
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.close(),
|
||||
["<Tab>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "s" }),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "vsnip" },
|
||||
{ name = "buffer" },
|
||||
{ name = "path" },
|
||||
{ name = "calc" },
|
||||
{ name = "latex_symbols" },
|
||||
},
|
||||
})
|
||||
104
nvim/lua/lsp.lua
104
nvim/lua/lsp.lua
|
|
@ -1,104 +0,0 @@
|
|||
--vim.lsp.set_log_level("info")
|
||||
|
||||
local null_ls = require("null-ls")
|
||||
local sources = {
|
||||
--null_ls.builtins.code_actions.gitsigns,
|
||||
null_ls.builtins.formatting.stylua,
|
||||
null_ls.builtins.formatting.trim_whitespace,
|
||||
null_ls.builtins.diagnostics.shellcheck,
|
||||
--null_ls.builtins.diagnostics.codespell,
|
||||
}
|
||||
|
||||
local lsp_status = require("lsp-status")
|
||||
lsp_status.register_progress()
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
capabilities = vim.tbl_extend("keep", capabilities, lsp_status.capabilities)
|
||||
|
||||
require("lspkind").init({})
|
||||
local lspconfig = require("lspconfig")
|
||||
local configs = require("lspconfig/configs")
|
||||
local util = require("lspconfig/util")
|
||||
|
||||
--[[ if not lspconfig.rsh_lsp then
|
||||
configs.rsh_lsp = {
|
||||
default_config = {
|
||||
cmd = { "rsh-lsp" },
|
||||
filetypes = { "rsh" },
|
||||
root_dir = util.path.dirname,
|
||||
settings = {},
|
||||
},
|
||||
}
|
||||
end ]]
|
||||
|
||||
null_ls.setup({
|
||||
sources = sources,
|
||||
on_attach = lsp_status.on_attach,
|
||||
})
|
||||
lspconfig.rust_analyzer.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
settings = {
|
||||
["rust-analyzer"] = {
|
||||
procMacro = {
|
||||
enable = true,
|
||||
},
|
||||
cargo = {
|
||||
allFeatures = true,
|
||||
loadOutDirsFromCheck = true,
|
||||
},
|
||||
updates = {
|
||||
channel = "nightly",
|
||||
},
|
||||
},
|
||||
},
|
||||
capabilities = capabilities,
|
||||
})
|
||||
lspconfig.jsonls.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
cmd = { "json-languageserver", "--stdio" },
|
||||
capabilities = capabilities,
|
||||
})
|
||||
lspconfig.bashls.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
capabilities = capabilities,
|
||||
})
|
||||
--[[ lspconfig.rsh_lsp.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
capabilities = capabilities,
|
||||
}) ]]
|
||||
lspconfig.clangd.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
handlers = lsp_status.extensions.clangd.setup(),
|
||||
init_options = { clangdFileStatus = true },
|
||||
capabilities = capabilities,
|
||||
})
|
||||
lspconfig.texlab.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
lspconfig.rnix.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
lspconfig.dartls.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
capabilities = capabilities,
|
||||
cmd = { "dart", vim.fn.expand("$DART_SDK") .. "/snapshots/analysis_server.dart.snapshot", "--lsp" },
|
||||
})
|
||||
|
||||
lspconfig.vuels.setup({
|
||||
on_attach = lsp_status.on_attach,
|
||||
capabilities = capabilities,
|
||||
config = {
|
||||
vetur = {
|
||||
defaultFormatter = {
|
||||
js = "prettier",
|
||||
ts = "prettier",
|
||||
html = "prettier",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
|
@ -1,288 +0,0 @@
|
|||
--[[ local vi_mode_utils = require 'feline.providers.vi_mode'
|
||||
|
||||
local vi_mode_colors = {
|
||||
NORMAL = "#8cc85f",
|
||||
INSERT = "#ff5454",
|
||||
VISUAL = "#ae81ff",
|
||||
OP = "#36c692",
|
||||
BLOCK = "#80a0ff",
|
||||
REPLACE = "#d183e8",
|
||||
['V-REPLACE'] = "#d183e8",
|
||||
ENTER = "#74b2ff",
|
||||
MORE = "#74b2ff",
|
||||
SELECT = "#de935f",
|
||||
COMMAND = "#8cc85f",
|
||||
SHELL = "#8cc85f",
|
||||
TERM = "#8cc85f",
|
||||
NONE = "#e3c78a"
|
||||
}
|
||||
|
||||
local function vimode_hl()
|
||||
return {
|
||||
name = vi_mode_utils.get_mode_highlight_name(),
|
||||
fg = vi_mode_utils.get_mode_color()
|
||||
}
|
||||
end
|
||||
|
||||
local cmps = {
|
||||
vi_mode = {
|
||||
provider = '▊',
|
||||
hl = vimode_hl,
|
||||
right_sep = ' '
|
||||
}
|
||||
}
|
||||
|
||||
local components = {
|
||||
left = {
|
||||
active = {
|
||||
cmps.vi_mode
|
||||
},
|
||||
inactive = {}
|
||||
},
|
||||
mid = {
|
||||
active = {},
|
||||
inactive = {}
|
||||
},
|
||||
right = {
|
||||
active = {},
|
||||
inactive = {}
|
||||
}
|
||||
}
|
||||
|
||||
require'feline'.setup {
|
||||
components = components,
|
||||
vi_mode_colors = vi_mode_colors
|
||||
} ]]
|
||||
|
||||
local gl = require("galaxyline")
|
||||
local gls = gl.section
|
||||
gl.short_line_list = { "LuaTree", "vista", "dbui" }
|
||||
|
||||
local colors = {
|
||||
bg = "#282c34",
|
||||
yellow = "#fabd2f",
|
||||
cyan = "#008080",
|
||||
darkblue = "#081633",
|
||||
green = "#afd700",
|
||||
orange = "#FF8800",
|
||||
purple = "#5d4d7a",
|
||||
magenta = "#d16d9e",
|
||||
grey = "#c0c0c0",
|
||||
blue = "#0087d7",
|
||||
red = "#ec5f67",
|
||||
violet = "#6860e7",
|
||||
}
|
||||
|
||||
local buffer_not_empty = function()
|
||||
if vim.fn.empty(vim.fn.expand("%:t")) ~= 1 then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local fileinfo = require("galaxyline.providers.fileinfo")
|
||||
|
||||
-- Start of line
|
||||
gls.left[1] = {
|
||||
FirstElement = {
|
||||
provider = function()
|
||||
return "▋"
|
||||
end,
|
||||
highlight = { colors.blue, colors.yellow },
|
||||
},
|
||||
}
|
||||
-- Vim mode
|
||||
gls.left[2] = {
|
||||
ViMode = {
|
||||
provider = function()
|
||||
local alias = { n = "NORMAL ", i = "INSERT ", c = "COMMAND ", V = "VISUAL ", [""] = "VISUAL " }
|
||||
return alias[vim.fn.mode()]
|
||||
end,
|
||||
separator = "",
|
||||
separator_highlight = {
|
||||
colors.yellow,
|
||||
function()
|
||||
if not buffer_not_empty() then
|
||||
return colors.purple
|
||||
end
|
||||
return colors.darkblue
|
||||
end,
|
||||
},
|
||||
highlight = { colors.violet, colors.yellow, "bold" },
|
||||
},
|
||||
}
|
||||
-- File Icon
|
||||
gls.left[3] = {
|
||||
FileIcon = {
|
||||
provider = "FileIcon",
|
||||
condition = buffer_not_empty,
|
||||
highlight = { fileinfo.get_file_icon_color, colors.darkblue },
|
||||
},
|
||||
}
|
||||
-- File Name
|
||||
gls.left[4] = {
|
||||
FileName = {
|
||||
provider = { "FileName" },
|
||||
condition = buffer_not_empty,
|
||||
separator = "",
|
||||
separator_highlight = { colors.purple, colors.darkblue },
|
||||
highlight = { colors.magenta, colors.darkblue },
|
||||
},
|
||||
}
|
||||
-- GIT
|
||||
gls.left[5] = {
|
||||
GitIcon = {
|
||||
provider = function()
|
||||
return " "
|
||||
end,
|
||||
condition = buffer_not_empty,
|
||||
highlight = { colors.orange, colors.purple },
|
||||
},
|
||||
}
|
||||
gls.left[6] = {
|
||||
GitBranch = {
|
||||
provider = "GitBranch",
|
||||
condition = buffer_not_empty,
|
||||
highlight = { colors.grey, colors.purple },
|
||||
},
|
||||
}
|
||||
|
||||
local vcs = require("galaxyline.providers.vcs")
|
||||
|
||||
local is_file_diff = function()
|
||||
if vcs.diff_add() ~= nil or vcs.diff_modified() ~= nil or vcs.diff_remove() ~= nil then
|
||||
return ""
|
||||
end
|
||||
end
|
||||
|
||||
gls.left[7] = {
|
||||
GitModified = {
|
||||
provider = is_file_diff,
|
||||
highlight = { colors.green, colors.purple },
|
||||
},
|
||||
}
|
||||
gls.left[8] = {
|
||||
LeftEnd = {
|
||||
provider = function()
|
||||
return ""
|
||||
end,
|
||||
separator = "",
|
||||
separator_highlight = { colors.purple, colors.bg },
|
||||
highlight = { colors.purple, colors.purple },
|
||||
},
|
||||
}
|
||||
|
||||
local lsp_diag_error = function()
|
||||
local diagnostics = require("lsp-status/diagnostics")
|
||||
local buf_diagnostics = diagnostics()
|
||||
|
||||
if buf_diagnostics.errors and buf_diagnostics.errors > 0 then
|
||||
return buf_diagnostics.errors .. " "
|
||||
end
|
||||
end
|
||||
local lsp_diag_warn = function()
|
||||
local diagnostics = require("lsp-status/diagnostics")
|
||||
local buf_diagnostics = diagnostics()
|
||||
|
||||
if buf_diagnostics.warnings and buf_diagnostics.warnings > 0 then
|
||||
return buf_diagnostics.warnings .. " "
|
||||
end
|
||||
end
|
||||
local lsp_diag_info = function()
|
||||
local diagnostics = require("lsp-status/diagnostics")
|
||||
local buf_diagnostics = diagnostics()
|
||||
|
||||
if buf_diagnostics.info and buf_diagnostics.info > 0 then
|
||||
return buf_diagnostics.info .. " "
|
||||
end
|
||||
end
|
||||
local has_lsp = function()
|
||||
return #vim.lsp.buf_get_clients() > 0
|
||||
end
|
||||
|
||||
local has_curent_func = function()
|
||||
if not has_lsp then
|
||||
return false
|
||||
end
|
||||
local current_function = vim.b.lsp_current_function
|
||||
return current_function and current_function ~= ""
|
||||
end
|
||||
local lsp_current_func = function()
|
||||
local current_function = vim.b.lsp_current_function
|
||||
if current_function and current_function ~= "" then
|
||||
return "(" .. current_function .. ") "
|
||||
end
|
||||
end
|
||||
|
||||
gls.right[1] = {
|
||||
LspText = {
|
||||
provider = function()
|
||||
return ""
|
||||
end,
|
||||
separator = "",
|
||||
separator_highlight = { colors.darkblue, colors.bg },
|
||||
highlight = { colors.grey, colors.darkblue },
|
||||
},
|
||||
}
|
||||
gls.right[2] = {
|
||||
LspError = {
|
||||
provider = lsp_diag_error,
|
||||
condition = has_lsp,
|
||||
icon = " ",
|
||||
highlight = { colors.grey, colors.darkblue },
|
||||
},
|
||||
}
|
||||
gls.right[3] = {
|
||||
LspWarning = {
|
||||
provider = lsp_diag_warn,
|
||||
condition = has_lsp,
|
||||
icon = " ",
|
||||
highlight = { colors.grey, colors.darkblue },
|
||||
},
|
||||
}
|
||||
gls.right[4] = {
|
||||
LspInfo = {
|
||||
provider = lsp_diag_info,
|
||||
condition = has_lsp,
|
||||
icon = " ",
|
||||
highlight = { colors.grey, colors.darkblue },
|
||||
},
|
||||
}
|
||||
gls.right[5] = {
|
||||
LspCurrentFunc = {
|
||||
provider = lsp_current_func,
|
||||
condition = has_current_func,
|
||||
icon = "𝒇",
|
||||
highlight = { colors.grey, colors.darkblue },
|
||||
},
|
||||
}
|
||||
gls.right[6] = {
|
||||
FileFormat = {
|
||||
provider = "FileFormat",
|
||||
separator = "",
|
||||
separator_highlight = { colors.darkblue, colors.purple },
|
||||
highlight = { colors.grey, colors.purple },
|
||||
},
|
||||
}
|
||||
gls.right[7] = {
|
||||
LineInfo = {
|
||||
provider = "LineColumn",
|
||||
separator = " | ",
|
||||
separator_highlight = { colors.darkblue, colors.purple },
|
||||
highlight = { colors.grey, colors.purple },
|
||||
},
|
||||
}
|
||||
gls.right[8] = {
|
||||
PerCent = {
|
||||
provider = "LinePercent",
|
||||
separator = "",
|
||||
separator_highlight = { colors.darkblue, colors.purple },
|
||||
highlight = { colors.grey, colors.darkblue },
|
||||
},
|
||||
}
|
||||
gls.right[9] = {
|
||||
ScrollBar = {
|
||||
provider = "ScrollBar",
|
||||
highlight = { colors.yellow, colors.purple },
|
||||
},
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
--[[ local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
||||
parser_config.rsh = {
|
||||
install_info = {
|
||||
url = "https://github.com/traxys/tree-sitter-rsh/", -- local path or git repo
|
||||
files = { "src/parser.c" },
|
||||
},
|
||||
}
|
||||
]]
|
||||
|
||||
require("nvim-treesitter.configs").setup({
|
||||
ensure_installed = {
|
||||
"rust",
|
||||
"c",
|
||||
"cpp",
|
||||
"json",
|
||||
"lua",
|
||||
"python",
|
||||
"toml",
|
||||
"latex",
|
||||
"nix",
|
||||
"vue",
|
||||
"javascript",
|
||||
"dart",
|
||||
--"rsh",
|
||||
},
|
||||
ident = {
|
||||
enable = true,
|
||||
},
|
||||
highlight = {
|
||||
enable = true, -- false will disable the whole extension
|
||||
disable = { "elixir", "teal" }, -- list of language that will be disabled
|
||||
},
|
||||
refactor = {
|
||||
highlight_definitions = { enable = true },
|
||||
highlight_current_scope = { enable = false },
|
||||
smart_rename = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
smart_rename = "grr",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
NVMe
|
||||
TCP
|
||||
Portals
|
||||
InfiniBand
|
||||
BXI
|
||||
RDMA
|
||||
linux
|
||||
IOPS
|
||||
blk-mq
|
||||
Binary file not shown.
58
plugins.py
58
plugins.py
|
|
@ -1,58 +0,0 @@
|
|||
plugins = [
|
||||
"aklt/plantuml-syntax",
|
||||
"kyazdani42/nvim-web-devicons",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"neovim/nvim-lspconfig",
|
||||
"nvim-lua/lsp-status.nvim",
|
||||
"kosayoda/nvim-lightbulb",
|
||||
"Yggdroot/indentLine",
|
||||
"lewis6991/gitsigns.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"bluz71/vim-moonfly-colors",
|
||||
"hrsh7th/vim-vsnip",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-calc",
|
||||
"hrsh7th/cmp-path",
|
||||
"kdheepak/cmp-latex-symbols",
|
||||
"hrsh7th/nvim-cmp",
|
||||
"dpelle/vim-Grammalecte",
|
||||
"dpelle/vim-LanguageTool",
|
||||
"nvim-lua/lsp_extensions.nvim",
|
||||
"ray-x/lsp_signature.nvim",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-lua/popup.nvim",
|
||||
"NTBBloodbath/galaxyline.nvim",
|
||||
"drmikehenry/vim-headerguard",
|
||||
"andymass/vim-matchup",
|
||||
"b3nj5m1n/kommentary",
|
||||
"onsails/lspkind-nvim",
|
||||
"editorconfig/editorconfig-vim",
|
||||
"jose-elias-alvarez/null-ls.nvim",
|
||||
"nathom/filetype.nvim",
|
||||
"tweekmonster/startuptime.vim",
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
]
|
||||
|
||||
inputs = ""
|
||||
nvim_plugins = "nvim-plugins = [\n";
|
||||
for plugin in plugins:
|
||||
repo,plugin = plugin.split('/')
|
||||
inputs += f'"{plugin}" = {{\n'
|
||||
inputs += f' url = "github:{repo}/{plugin}";\n'
|
||||
inputs += f' flake = false;\n'
|
||||
inputs += "};\n"
|
||||
|
||||
nvim_plugins += " {\n"
|
||||
nvim_plugins += f' name = "{plugin}";\n'
|
||||
nvim_plugins += f' path = inputs."{plugin}";\n'
|
||||
nvim_plugins += " }\n"
|
||||
nvim_plugins += "];\n"
|
||||
|
||||
with open("flake.nix.in") as f:
|
||||
flake = f.read()
|
||||
flake = flake.replace("@inputs@\n", inputs)
|
||||
flake = flake.replace("@plugins@\n", nvim_plugins)
|
||||
out = open("flake.nix", "w")
|
||||
out.write(flake)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue