Compare commits

..

No commits in common. "570fddee2d5b5b0ed1d13837cc4dbb6cbe567056" and "0fff5154e69feb5bbb0e634e654eb65feee9c5cf" have entirely different histories.

7 changed files with 10 additions and 259 deletions

View file

@ -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
(neo)Vim, while still having everything useful you'd expect, like LSPs, file
explorer (`oil.nvim`), completions, advanced language tools, and QoL
enhancements. Additionally, a small wrapper script called `vimg` is provided in
`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.
enhancements.
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

View file

@ -3,17 +3,8 @@
colorschemes.rose-pine.enable = true;
opts = {
# Global status/cmdline
laststatus = 3;
relativenumber = 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;
};
}

View file

@ -23,128 +23,6 @@
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>";
key = "<Leader>ff";
@ -187,70 +65,7 @@
options = {
silent = true;
noremap = true;
desc = "Go to definition, or search through them (if multiple)";
};
}
{
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";
desc = "Go to definition";
};
}
{
@ -354,12 +169,12 @@
};
}
{
action = ":Neogit kind=floating commit<CR>";
action = ":Neogit commit<CR>";
key = "<Leader>gc";
options = {
silent = true;
noremap = true;
desc = "Quickly open Neogit commit menu";
desc = "Open commit menu";
};
}
{
@ -616,12 +431,9 @@
}
{
action = ":Telescope yank_history<CR>";
key = "<Leader>fp";
mode = [
"n"
"v"
];
options.desc = "Search through yank history with telescope.";
key = "<Leader>p";
mode = "n";
options.desc = "Look through yank history with telescope.";
}
{
action = '':Oil<CR>'';
@ -741,13 +553,5 @@
desc = "Toggle autoformat in buffer";
};
}
{
action = ":UndotreeToggle<CR>";
key = "<Leader>u";
options = {
noremap = true;
desc = "Open undotree";
};
}
];
}

View file

@ -25,7 +25,6 @@
};
trouble.enable = true;
barbecue.enable = true;
undotree.enable = true;
lualine = {
enable = true;
settings = {
@ -81,22 +80,10 @@
};
neogit = {
enable = true;
settings = {
graph_style = "unicode";
integrations = {
diffview = true;
telescope = true;
};
};
settings.graph_style = "unicode";
};
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
markdown-preview.enable = true;
ts-autotag.enable = true;
};
extraPlugins = [
@ -112,9 +99,5 @@
name = "lsp-progress.nvim";
src = inputs.lsp-progress;
})
(pkgs.vimUtils.buildVimPlugin {
name = "cellular-automaton.nvim";
src = inputs.cellular-automaton;
})
];
}

View file

@ -2,10 +2,10 @@
plugins = {
treesitter = {
enable = true;
folding = true;
settings = {
highlight.enable = true;
indent.enable = true;
folding.enable = true;
};
};
treesitter-context.enable = true;

View file

@ -1,21 +1,5 @@
{
"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": {
"inputs": {
"nixpkgs": [
@ -330,7 +314,6 @@
},
"root": {
"inputs": {
"cellular-automaton": "cellular-automaton",
"flake-parts": "flake-parts",
"haskell-tools": "haskell-tools",
"lsp-progress": "lsp-progress",

View file

@ -26,10 +26,6 @@
url = "github:linrongbin16/lsp-progress.nvim";
flake = false;
};
cellular-automaton = {
url = "github:Eandrju/cellular-automaton.nvim";
flake = false;
};
};
outputs =
@ -73,10 +69,6 @@
packages = {
default = nvim;
vimg = pkgs.writeScriptBin "vimg" ''
#!/bin/sh
${nvim}/bin/nvim +Neogit
'';
};
};
};