Compare commits

..

4 Commits

Author SHA1 Message Date
Superredstone 3ff6d04d29 feat(plugin): set which-key preset to modern 2026-05-23 13:14:32 +02:00
Superredstone 6e24563b45 feat(plugin): add mini-icons 2026-05-23 12:52:55 +02:00
Patrick Canal c6b94479c2 feat: config rewrite (#1) 2026-05-23 09:25:51 +02:00
Superredstone f992b47a95 flake.lock: update 2026-05-17 14:20:33 +02:00
20 changed files with 134 additions and 357 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

+1 -8
View File
@@ -1,22 +1,15 @@
{ pkgs, ... }:
{
imports = [
./keybindings.nix
./opts.nix
./lsp.nix
./cmp.nix
./keymaps.nix
./plugins
];
colorschemes.catppuccin.enable = true;
extraPackages = with pkgs; [
wl-clipboard
];
clipboard = {
register = "unnamedplus";
providers.wl-copy.enable = true;
providers.wl-copy.package = pkgs.wl-clipboard;
providers.xclip.enable = true;
providers.xclip.package = pkgs.xclip;
};
}
+52
View File
@@ -0,0 +1,52 @@
{ ... }:
let
defaultOptions = {
silent = true;
};
in
{
keymaps = [
{
key = "<space>e";
action = ":Neotree toggle<CR>";
options = defaultOptions;
}
{
key = "<C-s>";
action = ":w<CR>";
}
{
key = "<S-q>";
action = ":bdelete<CR>";
options = defaultOptions;
}
{
key = "<A-l>";
action = ":bnext<CR>";
options = defaultOptions;
}
{
key = "<A-h>";
action = ":bprevious<CR>";
options = defaultOptions;
}
{
key = "<C-f>";
action = ":lua vim.lsp.buf.format()<CR>";
options = defaultOptions;
}
{
action = ":ToggleTerm direction=float<CR>";
key = "<Space>t";
}
{
action = "<C-\\><C-n>";
key = "<Esc>";
options = {
silent = true;
desc = "Exit terminal insert mode";
};
mode = "t";
}
];
}
-174
View File
@@ -1,174 +0,0 @@
{ ... }:
{
keymaps = [
{
action = ":bnext<CR>";
key = "<A-l>";
options = {
silent = true;
desc = "Next tab";
};
mode = "n";
}
{
action = ":bprevious<CR>";
key = "<A-h>";
options = {
silent = true;
desc = "Previous tab";
};
mode = "n";
}
{
action = ":bdelete<CR>";
key = "<S-q>";
options = {
silent = true;
desc = "Next tab";
};
mode = "n";
}
{
action = "<C-\\><C-n>";
key = "<Esc>";
options = {
silent = true;
desc = "Exit terminal insert mode";
};
mode = "t";
}
{
action = ":w<CR>";
key = "<C-s>";
options = {
silent = true;
desc = "Save";
};
mode = "n";
}
{
action = ":lua vim.lsp.buf.format()<CR>";
key = "<C-f>";
options = {
silent = true;
desc = "Format buffer";
};
mode = "n";
}
{
action = ":q<CR>";
key = "<C-q>";
options = {
silent = true;
desc = "Quit";
};
mode = "n";
}
{
action = ":wincmd l<CR>";
key = "<Space>wl";
options = {
silent = true;
desc = "Go to left panel";
};
mode = "n";
}
{
action = ":wincmd k<CR>";
key = "<Space>wk";
options = {
silent = true;
desc = "Go to upper panel";
};
mode = "n";
}
{
action = ":wincmd j<CR>";
key = "<Space>wj";
options = {
silent = true;
desc = "Go to down panel";
};
mode = "n";
}
{
action = ":wincmd h<CR>";
key = "<Space>wh";
options = {
silent = true;
desc = "Go to left panel";
};
mode = "n";
}
{
action = "$";
key = "gl";
options = {
silent = true;
desc = "Go to end line";
};
mode = [
"n"
"v"
];
}
{
action = "^";
key = "gh";
options = {
silent = true;
desc = "Go to start line";
};
mode = [
"n"
"v"
];
}
{
action = ":lua Snacks.explorer()<CR>";
key = "<Space>e";
options = {
silent = true;
desc = "Toggle file explorer";
};
mode = "n";
}
# ToggleTerm
{
action = ":ToggleTerm direction=float<CR>";
key = "<Space>t";
options = {
silent = true;
desc = "Toggle terminal";
};
mode = "n";
}
# Dap
{
action.__raw = ''
function()
require("dap").toggle_breakpoint()
end
'';
key = "<Space>b";
mode = "n";
options = {
silent = true;
desc = "Toggle breakpoint";
};
}
{
action.__raw = ''
function()
require("dapui").toggle()
end
'';
key = "<Space>y";
mode = "n";
options = {
silent = true;
desc = "Toggle debugger";
};
}
];
}
+8 -7
View File
@@ -1,17 +1,18 @@
{ ... }:
{
opts = {
cursorline = true;
number = true;
relativenumber = true;
signcolumn = "yes";
splitright = true;
splitbelow = true;
cursorline = true;
scrolloff = 5;
undofile = true;
ignorecase = true;
shiftwidth = 4;
signcolumn = "yes";
autoindent = true;
updatetime = 200;
smartcase = true;
gdefault = true;
ignorecase = true;
termguicolors = true;
gdefault = true;
cursorlineopt = "both";
};
}
+10
View File
@@ -0,0 +1,10 @@
{ ... }:
{
plugins.guess-indent = {
enable = true;
settings = {
underline.enable = true;
static.enable = true;
};
};
}
@@ -13,6 +13,8 @@
{ name = "path"; }
{ name = "buffer"; }
{ name = "dap"; }
{ name = "blink-emoji"; }
{ name = "blink-ripgrep"; }
];
mapping = {
"<Tab>" = "cmp.mapping.select_next_item()";
+20
View File
@@ -0,0 +1,20 @@
{ ... }:
{
plugins.cursorline = {
enable = true;
settings = {
cursorline = {
enable = true;
timeout = 0;
number = false;
};
cursorword = {
enable = true;
minLength = 3;
hl = {
underline = true;
};
};
};
};
}
-66
View File
@@ -1,66 +0,0 @@
{ pkgs, ... }:
{
plugins = {
dap = {
enable = true;
adapters = {
executables = {
gdb = {
command = "gdb";
args = [
"-i"
"dap"
];
};
lldb = {
command = "lldb";
};
};
servers = {
codelldb = {
port = 13000;
executable = {
command = "${pkgs.vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb";
args = [
"--port"
"13000"
];
};
};
};
};
configurations = {
cpp = [
{
name = "Launch GDB";
type = "gdb";
request = "launch";
program.__raw = ''
function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
end'';
}
{
name = "Launch LLDB";
type = "lldb";
request = "launch";
program.__raw = ''
function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end'';
}
{
name = "Launch CodeLLDB";
type = "codelldb";
request = "launch";
program.__raw = ''
function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end'';
}
];
};
};
dap-ui.enable = true;
};
}
-20
View File
@@ -1,20 +0,0 @@
{ ... }:
{
plugins.dashboard = {
enable = true;
settings.config = {
header = [
" "
" "
" "
" "
" "
" "
" "
" "
" "
];
footer = [ "Made with " ];
};
};
}
+18 -16
View File
@@ -1,28 +1,30 @@
{ ... }:
{
imports = [
./blink-indent.nix
./cmp.nix
./comment.nix
./dap.nix
./dashboard.nix
./fidget.nix
./guess-indent.nix
./cursorline.nix
./gitsigns.nix
./lsp.nix
./lualine.nix
./snacks.nix
./telescope.nix
./treesitter.nix
./vimwiki.nix
./which-key.nix
];
plugins = {
autoclose.enable = true;
bufferline.enable = true;
colorful-menu.enable = true;
gitsigns.enable = true;
lazygit.enable = true;
nix-develop.enable = true;
nvim-surround.enable = true;
toggleterm.enable = true;
neo-tree.enable = true;
web-devicons.enable = true;
which-key.enable = true;
bufferline.enable = true;
nvim-autopairs.enable = true;
notify.enable = true;
toggleterm.enable = true;
treesitter.enable = true;
todo-comments.enable = true;
fidget.enable = true;
blink-indent.enable = true;
blink-ripgrep.enable = true;
blink-pairs.enable = true;
mini-icons.enable = true;
};
}
-10
View File
@@ -1,10 +0,0 @@
{
plugins.fidget = {
enable = true;
settings.progress = {
suppress_on_insert = true;
ignore_done_already = true;
poll_rate = 1;
};
};
}
@@ -1,6 +1,6 @@
{ ... }:
{
plugins.guess-indent = {
plugins.gitsigns = {
enable = true;
};
}
@@ -22,8 +22,6 @@
docker_compose_language_service.enable = true;
jsonls.enable = true;
phpactor.enable = true;
gleam.enable = true;
elixirls.enable = true;
qmlls.enable = true;
};
keymaps = {
+1 -3
View File
@@ -1,6 +1,4 @@
{ ... }:
{
plugins.lualine = {
enable = true;
};
plugins.lualine.enable = true;
}
-11
View File
@@ -1,11 +0,0 @@
{ ... }:
{
plugins.snacks = {
enable = true;
settings = {
explorer = {
enabled = true;
};
};
};
}
-11
View File
@@ -1,11 +0,0 @@
{ ... }:
{
plugins.treesitter = {
enable = true;
settings = {
highlight = {
enable = true;
};
};
};
}
-16
View File
@@ -1,16 +0,0 @@
{ ... }:
{
plugins.vimwiki = {
enable = true;
settings = {
list = [
{
path = "$HOME/.vimwiki/";
template_path = "$HOME/.vimwiki/";
template_default = "default";
template_ext = "html";
}
];
};
};
}
+9
View File
@@ -0,0 +1,9 @@
{ ... }:
{
plugins.which-key = {
enable = true;
settings = {
preset = "modern";
};
};
}
Generated
+12 -12
View File
@@ -8,11 +8,11 @@
]
},
"locked": {
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -41,11 +41,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1775403759,
"narHash": "sha256-cGyKiTspHEUx3QwAnV3RfyT+VOXhHLs+NEr17HU34Wo=",
"lastModified": 1778869304,
"narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e11f7acce6c3469bef9df154d78534fa7ae8b6c",
"rev": "d233902339c02a9c334e7e593de68855ad26c4cb",
"type": "github"
},
"original": {
@@ -55,11 +55,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1770380644,
"narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=",
"lastModified": 1778794387,
"narHash": "sha256-BL04pOS9453Awkeb9f90XBJXBSkWxN+vB7HIgnL0iMM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ae67888ff7ef9dff69b3cf0cc0fbfbcd3a722abe",
"rev": "8a1b0127302ea51e05bf4ea5a291743fac442406",
"type": "github"
},
"original": {
@@ -76,11 +76,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1775307257,
"narHash": "sha256-y9hEecHH4ennFwIcw1n480YCGh73DkEmizmQnyXuvgg=",
"lastModified": 1778906310,
"narHash": "sha256-LqASEJRtLuKRBJd9051T1KMAEaYvsVrc6m64jhD6xbw=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "2e008bb941f72379d5b935d5bfe70ed8b7c793ff",
"rev": "06cace835d7ee727852ac789e3dcd42fc2fd360e",
"type": "github"
},
"original": {