Compare commits

..

10 Commits

Author SHA1 Message Date
demenik
e7b6b488d9 fix(fs): Use fmask=0077, dmask=0077 2025-12-20 15:03:08 +01:00
demenik
28a1a1db4b feat(nvim): Modify nvim-tree 2025-12-17 16:54:01 +01:00
demenik
d5e461524b fix(nvim): Remove unused twilight plugin 2025-12-17 15:32:04 +01:00
demenik
8f6e8a7a14 refactor(nvim): Use NvimTreeToggle instead of lua api, Move gitsigns require to each bind 2025-12-17 15:31:50 +01:00
demenik
80702d6076 fix(nvim): Undo removing vim.g 2025-12-17 13:21:20 +01:00
demenik
5859d26c6c fix(nvim): Remove unused incline import 2025-12-17 13:18:04 +01:00
demenik
451a70d3c7 feat(nvim): Add snacks.profiler 2025-12-17 13:17:39 +01:00
demenik
ce8eddeadf refactor(nvim): Remove builds.nix 2025-12-17 13:17:30 +01:00
demenik
3af9c66290 fix(nvim): Change plugins.snacks.dashboard to plugins.snacks.settings.dashboard 2025-12-17 12:29:36 +01:00
demenik
210ce6236c refactor(nvim): Change snacks/dashboard.nix to also host the extraConfig 2025-12-17 12:28:31 +01:00
14 changed files with 159 additions and 165 deletions

View File

@@ -1,56 +0,0 @@
pkgs: let
build = {
version,
owner,
name,
rev,
hash,
}:
pkgs.vimUtils.buildVimPlugin {
pname = name;
inherit version;
src = pkgs.fetchFromGitHub {
repo = name;
inherit owner rev;
sha256 = hash;
};
};
in {
# INFO: Last update: 18. Aug. 2025 | Sort latest -> oldest
# https://github.com/SCJangra/table-nvim
table-nvim = build {
version = "27-09-2024";
owner = "SCJangra";
name = "table-nvim";
rev = "c044fd37169eb10376962b0d0cec5f94d58ca626";
hash = "1ygn4bvnpbd49gcgbkh0cdj3p75jsmwi87hby78w0fd22205pvmi";
};
# https://github.com/michaelrommel/nvim-silicon
silicon = build {
version = "09-01-2025";
owner = "michaelrommel";
name = "nvim-silicon";
rev = "7f66bda8f60c97a5bf4b37e5b8acb0e829ae3c32";
hash = "1zk6lgghvdcys20cqvh2g1kjf661q1w97niq5nx1zz4yppy2f9jy";
};
# https://github.com/b0o/incline.nvim
incline = build {
version = "05-06-2025";
owner = "b0o";
name = "incline.nvim";
rev = "0fd2d5a27504dba7fdc507a53275f22c081fe640";
hash = "19x35z2sj3hl3icrxzbs67xhxgq9d237vhgzqrz8ppdc74p8wgaz";
};
# https://github.com/Aasim-A/scrollEOF.nvim
scrollEOF = build {
version = "31-05-2025";
owner = "Aasim-A";
name = "scrollEOF.nvim";
rev = "2575109749b4bf3a0bf979a17947b3c1e8c5137e";
hash = "1s66v9n0arg81wgw1z8iv9s304j78cd506z522avpc88d3ji4yl4";
};
}

View File

@@ -1,5 +1,3 @@
require("incline").setup {}
-- vim_current_word
vim.cmd [[
hi CurrentWord guifg=#cba6f7

View File

@@ -1,10 +1,17 @@
{pkgs, ...}: {
extraPlugins = let
builds = import ../builds.nix pkgs;
scrollEOF = pkgs.vimUtils.buildVimPlugin {
pname = "scrollEOF.nvim";
version = "09-14-2025";
src = pkgs.fetchFromGitHub {
owner = "Aasim-A";
repo = "scrollEOF.nvim";
rev = "e462b9a07b8166c3e8011f1dcbc6bf68b67cd8d7";
hash = "sha256-y7yOCRSGTtQcFyWVkGe3xQqstHZMQKayxtqkOVlZ4PM=";
};
};
in
with builds;
with pkgs.vimPlugins; [
incline
scrollEOF
vim-hexokinase

View File

@@ -23,14 +23,28 @@
};
rainbow-delimiters.enable = true;
twilight.enable = true;
nvim-tree = {
enable = true;
settings = {
hijack_cursor = true;
view.width = {
min = 30;
max = -1;
};
renderer = {
group_empty = true;
icons = {
show.modified = true;
glyphs.modified = "";
};
indent_markers.enable = true;
};
modified = {
enable = true;
show_on_dirs = false;
};
update_focused_file.enable = true;
};
};
};

View File

@@ -1,6 +1,5 @@
{
enable = true;
settings = {
numhl = true;
current_line_blame = true;

View File

@@ -1,4 +1,4 @@
{pkgs, ...}: {
{
plugins = {
markdown-preview = {
enable = true;
@@ -16,8 +16,4 @@
};
};
};
extraPlugins = let
builds = import ../../builds.nix pkgs;
in [builds.table-nvim];
}

View File

@@ -6,7 +6,7 @@
./fzf-lua.nix
./grug-far.nix
./presence.nix
./silicon.nix
# ./silicon.nix
./todo-comments.nix
./debugging.nix
./snacks

View File

@@ -1,6 +1,23 @@
{pkgs, ...}: let
theme = "Catppuccin";
font = "JetBrainsMono Nerd Font=32;Noto Color Emoji=34";
silicon-nvim = pkgs.vimUtils.buildVimPlugin {
pname = "silicon.nvim";
version = "12-03-2024";
src = pkgs.fetchFromGitHub {
owner = "krivahtoo";
repo = "silicon.nvim";
rev = "d8a6852b7158cc98f44ab12a0811ccf7d111dc71";
hash = "sha256-3ABUsfJpb6RO6AiuuSL5gwDofJIwC5tlEMzBrlY9/s0=";
};
};
theme =
pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "sublime-text";
rev = "3d8625d937d89869476e94bc100192aa220ce44a";
hash = "sha256-3ABUsfJpb6RO6AiuuSL5gwDofJIwC5tlEMzBrlY9/s0=";
}
+ "/Mocha.tmTheme";
font = "JetBrainsMono Nerd Font=16;Noto Color Emoji=16";
in {
extraPackages = with pkgs; [
silicon
@@ -8,17 +25,18 @@ in {
noto-fonts-color-emoji
];
extraPlugins = let
builds = import ../builds.nix pkgs;
in
with builds; [silicon];
extraPlugins = [silicon-nvim];
extraConfigLua = ''
require 'nvim-silicon'.setup {
font = '${font}',
theme = '${theme}',
no_line_number = true,
no_window_controls = true,
extraConfigLua =
# lua
''
require("silicon").setup {
font = "${font}",
theme = "${theme}",
window_controls = false,
output = {
path = "~/Downloads",
},
}
'';
}

View File

@@ -1,4 +1,5 @@
let
{
plugins.snacks.settings.dashboard = let
themes = import ./themes.nix;
theme = themes.dg_baby;
in {
@@ -50,4 +51,33 @@ in {
align = "center";
}
];
};
extraConfigLua =
# lua
''
local prev = { new_name = "", old_name = "" } -- Prevents duplicate events
vim.api.nvim_create_autocmd("User", {
pattern = "NvimTreeSetup",
callback = function()
local events = require("nvim-tree.api").events
events.subscribe(events.Event.NodeRenamed, function(data)
if prev.new_name ~= data.new_name or prev.old_name ~= data.old_name then
data = data
Snacks.rename.on_rename_file(data.old_name, data.new_name)
end
end)
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "SnacksDashboardOpened",
callback = function()
if vim.bo.filetype == "snacks_dashboard" then
vim.b.minitrailspace_disable = true
vim.b.miniindentscope_disable = true
end
end,
})
'';
}

View File

@@ -1,4 +1,6 @@
{
imports = [./dashboard.nix];
plugins.snacks = {
enable = true;
settings = {
@@ -11,35 +13,18 @@
image.enabled = true;
quickfile.enabled = true;
rename.enabled = true;
dashboard = import ./dashboard.nix;
};
};
extraConfigLua =
extraConfigLuaPre =
# lua
''
local prev = { new_name = "", old_name = "" } -- Prevents duplicate events
vim.api.nvim_create_autocmd("User", {
pattern = "NvimTreeSetup",
callback = function()
local events = require("nvim-tree.api").events
events.subscribe(events.Event.NodeRenamed, function(data)
if prev.new_name ~= data.new_name or prev.old_name ~= data.old_name then
data = data
Snacks.rename.on_rename_file(data.old_name, data.new_name)
if vim.env.PROF then
require("snacks.profiler").startup {
startup = {
event = "VimEnter",
},
}
end
end)
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "SnacksDashboardOpened",
callback = function()
if vim.bo.filetype == "snacks_dashboard" then
vim.b.minitrailspace_disable = true
vim.b.miniindentscope_disable = true
end
end,
})
'';
}

View File

@@ -1,5 +1,4 @@
local wk = require "which-key"
local gitsigns = require "gitsigns"
local Terminal = require("toggleterm.terminal").Terminal
local set_key = {
@@ -14,7 +13,7 @@ local set_key = {
}
wk.add {
set_key.cmd("e", require("nvim-tree.api").tree.toggle, "Files"),
set_key.cmd("e", "NvimTreeToggle", "Files"),
set_key.cmd("w", "w!", "Write buffer"),
set_key.cmd("n", "ene | startinsert", "New buffer"),
set_key.cmd("d", function()
@@ -29,7 +28,7 @@ wk.add {
set_key.git_signs = function(key, action, desc)
return set_key.cmd("g" .. key, function()
gitsigns[action]()
require("gitsigns")[action]()
end, desc)
end
@@ -64,14 +63,14 @@ wk.add {
set_key.git_signs("hv", "preview_hunk", "Preview"),
set_key.git_signs("hu", "undo_stage_hunk", "Undo Stage"),
set_key.cmd("ghn", function()
gitsigns.nav_hunk "next"
require("gitsigns").nav_hunk "next"
end, "Next"),
set_key.cmd("ghp", function()
gitsigns.nav_hunk "prev"
require("gitsigns").nav_hunk "prev"
end, "Previous"),
set_key.git_signs("hd", "diffthis", "Diff this"),
set_key.cmd("ghD", function()
gitsigns.diffthis "~"
require("gitsigns").diffthis "~"
end, "Diff this"),
}
@@ -172,9 +171,9 @@ wk.add {
set_key.cmd("mv", "MarkdownPreviewToggle", "Browser preview"),
--- Snap (Silicon) --
{ "<leader>S", group = "Snap(Silicon)" },
set_key.cmd("Ss", require("silicon").file, "Save as file"),
set_key.cmd("Sc", require("silicon").clip, "Copy to clipboard"),
-- { "<leader>S", group = "Snap(Silicon)" },
-- set_key.cmd("Ss", require("silicon").file, "Save as file"),
-- set_key.cmd("Sc", require("silicon").clip, "Copy to clipboard"),
--- Latex (Vimtex) --
{ "<leader>L", group = "Latex" },

View File

@@ -27,6 +27,10 @@
user = "git";
identitiesOnly = true;
};
"lg" = {
hostname = "192.168.178.160";
user = "root";
};
};
};
}

View File

@@ -19,7 +19,7 @@
fileSystems."/boot" = {
device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [];

View File

@@ -19,7 +19,7 @@
fileSystems."/boot" = {
device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [];