feat: add rust error explanation binding

This commit is contained in:
Zhongheng Liu 2024-11-02 11:17:38 +02:00
commit a641d4fafe
Signed by: steven
GPG key ID: DC8F48E7B4C40905
4 changed files with 135 additions and 115 deletions

View file

@ -0,0 +1,8 @@
[
{
mode = "n";
key = "<leader>ree";
action = "<CMD>RustLsp explainError<CR>";
options.desc = "Explain this Rust error (custom)";
}
]

View file

@ -26,125 +26,127 @@
defaultEditor = true; defaultEditor = true;
globals.mapleader = " "; globals.mapleader = " ";
colorschemes.gruvbox = {enable = true;}; colorschemes.gruvbox = {enable = true;};
keymaps = [ keymaps =
# Global [
# Default mode is "" which means normal-visual-op # Global
{ # Default mode is "" which means normal-visual-op
mode = "n"; {
key = "<leader>bg"; mode = "n";
action = "<CMD>TransparentToggle<CR>"; key = "<leader>bg";
options.desc = "Toggle background transparency"; action = "<CMD>TransparentToggle<CR>";
} options.desc = "Toggle background transparency";
{ }
key = "<C-n>"; {
action = "<CMD>NvimTreeToggle<CR>"; key = "<C-n>";
options.desc = "Toggle NvimTree"; action = "<CMD>NvimTreeToggle<CR>";
} options.desc = "Toggle NvimTree";
}
# File # File
{ {
mode = "n"; mode = "n";
key = "<leader>f"; key = "<leader>f";
action = "+find/file"; action = "+find/file";
} }
{ {
# Format file # Format file
key = "<leader>fm"; key = "<leader>fm";
action = "<CMD>lua vim.lsp.buf.format()<CR>"; action = "<CMD>lua vim.lsp.buf.format()<CR>";
options.desc = "Format the current buffer"; options.desc = "Format the current buffer";
} }
# Git # Git
{ {
mode = "n"; mode = "n";
key = "<leader>g"; key = "<leader>g";
action = "+git"; action = "+git";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>gt"; key = "<leader>gt";
action = "+toggles"; action = "+toggles";
} }
{ {
key = "<leader>gtb"; key = "<leader>gtb";
action = "<CMD>Gitsigns toggle_current_line_blame<CR>"; action = "<CMD>Gitsigns toggle_current_line_blame<CR>";
options.desc = "Gitsigns current line blame"; options.desc = "Gitsigns current line blame";
} }
{ {
key = "<leader>gtd"; key = "<leader>gtd";
action = "<CMD>Gitsigns toggle_deleted"; action = "<CMD>Gitsigns toggle_deleted";
options.desc = "Gitsigns deleted"; options.desc = "Gitsigns deleted";
} }
{ {
key = "<leader>gd"; key = "<leader>gd";
action = "<CMD>Gitsigns diffthis<CR>"; action = "<CMD>Gitsigns diffthis<CR>";
options.desc = "Gitsigns diff this buffer"; options.desc = "Gitsigns diff this buffer";
} }
# Tabs # Tabs
{ {
mode = "n"; mode = "n";
key = "<leader>t"; key = "<leader>t";
action = "+tab"; action = "+tab";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>tn"; key = "<leader>tn";
action = "<CMD>tabnew<CR>"; action = "<CMD>tabnew<CR>";
options.desc = "Create new tab"; options.desc = "Create new tab";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>td"; key = "<leader>td";
action = "<CMD>tabclose<CR>"; action = "<CMD>tabclose<CR>";
options.desc = "Close tab"; options.desc = "Close tab";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>ts"; key = "<leader>ts";
action = "<CMD>tabnext<CR>"; action = "<CMD>tabnext<CR>";
options.desc = "Go to the sub-sequent tab"; options.desc = "Go to the sub-sequent tab";
} }
{ {
mode = "n"; mode = "n";
key = "<leader>tp"; key = "<leader>tp";
action = "<CMD>tabprevious<CR>"; action = "<CMD>tabprevious<CR>";
options.desc = "Go to the previous tab"; options.desc = "Go to the previous tab";
} }
# Terminal # Terminal
{ {
# Escape terminal mode using ESC # Escape terminal mode using ESC
mode = "t"; mode = "t";
key = "<esc>"; key = "<esc>";
action = "<C-\\><C-n>"; action = "<C-\\><C-n>";
options.desc = "Escape terminal mode"; options.desc = "Escape terminal mode";
} }
# Trouble # Trouble
{ {
mode = "n"; mode = "n";
key = "<leader>d"; key = "<leader>d";
action = "+diagnostics/debug"; action = "+diagnostics/debug";
} }
{ {
key = "<leader>dt"; key = "<leader>dt";
action = "<CMD>TroubleToggle<CR>"; action = "<CMD>TroubleToggle<CR>";
options.desc = "Toggle trouble"; options.desc = "Toggle trouble";
} }
# Rust # Rust
{ {
mode = "n"; mode = "n";
key = "<leader>r"; key = "<leader>r";
action = "+rust"; action = "+rust";
} }
{ {
# Start standalone rust-analyzer (fixes issues when opening files from nvim tree) # Start standalone rust-analyzer (fixes issues when opening files from nvim tree)
mode = "n"; mode = "n";
key = "<leader>rs"; key = "<leader>rs";
action = "<CMD>RustStartStandaloneServerForBuffer<CR>"; action = "<CMD>RustStartStandaloneServerForBuffer<CR>";
options.desc = "Start standalone rust-analyzer"; options.desc = "Start standalone rust-analyzer";
} }
]; ]
++ (import ./custom/binds.nix);
} }

View file

@ -10,6 +10,7 @@
imports = [ imports = [
../common/variables.nix ../common/variables.nix
./greetd.nix ./greetd.nix
#./ly.nix
./bootloader.nix ./bootloader.nix
./nvidia.nix ./nvidia.nix
./fonts.nix ./fonts.nix

9
nixos/ly.nix Normal file
View file

@ -0,0 +1,9 @@
{
pkgs,
config,
...
}: {
services.displayManager.ly = {
enable = true;
};
}