mirror of
https://github.com/youwen5/neovim-flake.git
synced 2024-11-25 03:03:49 -08:00
Compare commits
No commits in common. "570fddee2d5b5b0ed1d13837cc4dbb6cbe567056" and "0fff5154e69feb5bbb0e634e654eb65feee9c5cf" have entirely different histories.
570fddee2d
...
0fff5154e6
7 changed files with 10 additions and 259 deletions
|
@ -5,9 +5,7 @@ This is the Neovim configuration for all my NixOS and Nix enabled systems
|
||||||
blingful features like sidebars or fancy UI enhancements in favor of native
|
blingful features like sidebars or fancy UI enhancements in favor of native
|
||||||
(neo)Vim, while still having everything useful you'd expect, like LSPs, file
|
(neo)Vim, while still having everything useful you'd expect, like LSPs, file
|
||||||
explorer (`oil.nvim`), completions, advanced language tools, and QoL
|
explorer (`oil.nvim`), completions, advanced language tools, and QoL
|
||||||
enhancements. Additionally, a small wrapper script called `vimg` is provided in
|
enhancements.
|
||||||
`packages.${system}.vimg` which simply opens Neovim inside the `Neogit` UI.
|
|
||||||
This allows it to be used as a quick git TUI from the shell.
|
|
||||||
|
|
||||||
The central design goal is to prefer Vim whenever possible. The Vim text editor
|
The central design goal is to prefer Vim whenever possible. The Vim text editor
|
||||||
is already incredibly powerful, and many plugins designed to emulate features
|
is already incredibly powerful, and many plugins designed to emulate features
|
||||||
|
|
|
@ -3,17 +3,8 @@
|
||||||
colorschemes.rose-pine.enable = true;
|
colorschemes.rose-pine.enable = true;
|
||||||
|
|
||||||
opts = {
|
opts = {
|
||||||
# Global status/cmdline
|
|
||||||
laststatus = 3;
|
laststatus = 3;
|
||||||
|
|
||||||
relativenumber = true;
|
relativenumber = true;
|
||||||
number = true;
|
number = true;
|
||||||
# sane defaults for tab/space
|
|
||||||
shiftwidth = 2;
|
|
||||||
tabstop = 4;
|
|
||||||
# Crank up fold level so tree-sitter doesn't fold everything
|
|
||||||
foldlevel = 15;
|
|
||||||
# Persistent undos across sessions
|
|
||||||
undofile = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,128 +23,6 @@
|
||||||
desc = "Zen mode";
|
desc = "Zen mode";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
action = ":%%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>";
|
|
||||||
key = "<leader>fs";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Search and replace the word under the cursor globally and case-insensitively";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# center the screen when scrolling
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
action = ":CellularAutomaton make_it_rain<CR>";
|
|
||||||
key = "<leader>kys";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "A mysterious surprise!";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
action = "nzzzv";
|
|
||||||
key = "n";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Search next and center screen, reopening folds";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
action = "Nzzzv";
|
|
||||||
key = "N";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Search previous and center screen, reopening folds";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# The greatest remap of all time -- the primeagen
|
|
||||||
{
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"v"
|
|
||||||
];
|
|
||||||
action = "\"_d";
|
|
||||||
key = "<leader>d";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Delete without copying to register";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"v"
|
|
||||||
];
|
|
||||||
action = "\"+y";
|
|
||||||
key = "<leader>y";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Yank to system clipboard";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
action = "\"+Y";
|
|
||||||
key = "<leader>Y";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Yank whole line to system clipboard";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"v"
|
|
||||||
];
|
|
||||||
action = "\"+p";
|
|
||||||
key = "<leader>p";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Put from system clipboard";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = [
|
|
||||||
"n"
|
|
||||||
"v"
|
|
||||||
];
|
|
||||||
action = "\"+P";
|
|
||||||
key = "<leader>P";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Put from system clipboard";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<C-u>";
|
|
||||||
action = "<C-u>zz";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<C-d>";
|
|
||||||
action = "<C-d>zz";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
action = "<cmd>Telescope find_files<CR>";
|
action = "<cmd>Telescope find_files<CR>";
|
||||||
key = "<Leader>ff";
|
key = "<Leader>ff";
|
||||||
|
@ -187,70 +65,7 @@
|
||||||
options = {
|
options = {
|
||||||
silent = true;
|
silent = true;
|
||||||
noremap = true;
|
noremap = true;
|
||||||
desc = "Go to definition, or search through them (if multiple)";
|
desc = "Go to definition";
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
action = "<cmd>lua require'telescope.builtin'.lsp_implementations{}<CR>";
|
|
||||||
key = "gr";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Go to implementation";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
action = "<cmd>lua require'telescope.builtin'.lsp_document_symbols{}<CR>";
|
|
||||||
key = "<leader>a";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "List and search through document symbols";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
action = "<cmd>lua require'telescope.builtin'.lsp_workspace_symbols{}<CR>";
|
|
||||||
key = "<leader>fcs";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "List and search through workplace symbols";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
action = "<cmd>lua require'telescope.builtin'.lsp_type_definitions{}<CR>";
|
|
||||||
key = "<leader>fct";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "List and search through type definitions";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
action = "<cmd>lua require'telescope.builtin'.lsp_references{}<CR>";
|
|
||||||
key = "<leader>fcr";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "List and search through references";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
action = "<cmd>lua require'telescope.builtin'.diagnostics{}<CR>";
|
|
||||||
key = "<leader>fcd";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "List and search through diagnostics";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
action = "<cmd>lua require'telescope.builtin'.keymaps{}<CR>";
|
|
||||||
key = "<leader>fcd";
|
|
||||||
options = {
|
|
||||||
silent = true;
|
|
||||||
noremap = true;
|
|
||||||
desc = "Search through keymaps";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -354,12 +169,12 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = ":Neogit kind=floating commit<CR>";
|
action = ":Neogit commit<CR>";
|
||||||
key = "<Leader>gc";
|
key = "<Leader>gc";
|
||||||
options = {
|
options = {
|
||||||
silent = true;
|
silent = true;
|
||||||
noremap = true;
|
noremap = true;
|
||||||
desc = "Quickly open Neogit commit menu";
|
desc = "Open commit menu";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -616,12 +431,9 @@
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = ":Telescope yank_history<CR>";
|
action = ":Telescope yank_history<CR>";
|
||||||
key = "<Leader>fp";
|
key = "<Leader>p";
|
||||||
mode = [
|
mode = "n";
|
||||||
"n"
|
options.desc = "Look through yank history with telescope.";
|
||||||
"v"
|
|
||||||
];
|
|
||||||
options.desc = "Search through yank history with telescope.";
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = '':Oil<CR>'';
|
action = '':Oil<CR>'';
|
||||||
|
@ -741,13 +553,5 @@
|
||||||
desc = "Toggle autoformat in buffer";
|
desc = "Toggle autoformat in buffer";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
|
||||||
action = ":UndotreeToggle<CR>";
|
|
||||||
key = "<Leader>u";
|
|
||||||
options = {
|
|
||||||
noremap = true;
|
|
||||||
desc = "Open undotree";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
};
|
};
|
||||||
trouble.enable = true;
|
trouble.enable = true;
|
||||||
barbecue.enable = true;
|
barbecue.enable = true;
|
||||||
undotree.enable = true;
|
|
||||||
lualine = {
|
lualine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -81,22 +80,10 @@
|
||||||
};
|
};
|
||||||
neogit = {
|
neogit = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings.graph_style = "unicode";
|
||||||
graph_style = "unicode";
|
|
||||||
integrations = {
|
|
||||||
diffview = true;
|
|
||||||
telescope = true;
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
|
||||||
diffview.enable = true;
|
|
||||||
|
|
||||||
# The greatest QoL plugin of all time. Renders codeblocks, formatting, etc
|
|
||||||
# in LSP popup buffers too. GUI users will never flex on you with their
|
|
||||||
# typesetting again!
|
|
||||||
markdown-preview.enable = true;
|
|
||||||
|
|
||||||
# Language specific tools
|
# Language specific tools
|
||||||
|
markdown-preview.enable = true;
|
||||||
ts-autotag.enable = true;
|
ts-autotag.enable = true;
|
||||||
};
|
};
|
||||||
extraPlugins = [
|
extraPlugins = [
|
||||||
|
@ -112,9 +99,5 @@
|
||||||
name = "lsp-progress.nvim";
|
name = "lsp-progress.nvim";
|
||||||
src = inputs.lsp-progress;
|
src = inputs.lsp-progress;
|
||||||
})
|
})
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
|
||||||
name = "cellular-automaton.nvim";
|
|
||||||
src = inputs.cellular-automaton;
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
plugins = {
|
plugins = {
|
||||||
treesitter = {
|
treesitter = {
|
||||||
enable = true;
|
enable = true;
|
||||||
folding = true;
|
|
||||||
settings = {
|
settings = {
|
||||||
highlight.enable = true;
|
highlight.enable = true;
|
||||||
indent.enable = true;
|
indent.enable = true;
|
||||||
|
folding.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
treesitter-context.enable = true;
|
treesitter-context.enable = true;
|
||||||
|
|
17
flake.lock
17
flake.lock
|
@ -1,21 +1,5 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"cellular-automaton": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1719777869,
|
|
||||||
"narHash": "sha256-nIv7ISRk0+yWd1lGEwAV6u1U7EFQj/T9F8pU6O0Wf0s=",
|
|
||||||
"owner": "Eandrju",
|
|
||||||
"repo": "cellular-automaton.nvim",
|
|
||||||
"rev": "11aea08aa084f9d523b0142c2cd9441b8ede09ed",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Eandrju",
|
|
||||||
"repo": "cellular-automaton.nvim",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"devshell": {
|
"devshell": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -330,7 +314,6 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"cellular-automaton": "cellular-automaton",
|
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"haskell-tools": "haskell-tools",
|
"haskell-tools": "haskell-tools",
|
||||||
"lsp-progress": "lsp-progress",
|
"lsp-progress": "lsp-progress",
|
||||||
|
|
|
@ -26,10 +26,6 @@
|
||||||
url = "github:linrongbin16/lsp-progress.nvim";
|
url = "github:linrongbin16/lsp-progress.nvim";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
cellular-automaton = {
|
|
||||||
url = "github:Eandrju/cellular-automaton.nvim";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
@ -73,10 +69,6 @@
|
||||||
|
|
||||||
packages = {
|
packages = {
|
||||||
default = nvim;
|
default = nvim;
|
||||||
vimg = pkgs.writeScriptBin "vimg" ''
|
|
||||||
#!/bin/sh
|
|
||||||
${nvim}/bin/nvim +Neogit
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue