feat: auto-session

feat: vim ui2
feat: harpoon
feat: nvim changes
This commit is contained in:
2026-07-01 16:08:27 +02:00
parent acf28da653
commit 6fd42a30b0
8 changed files with 118 additions and 61 deletions
@@ -0,0 +1,49 @@
{ lib, config, ... }:
let
cfg = config.presets.auto-session;
in
{
options.presets.auto-session = {
enable = lib.mkEnableOption "auto session";
};
config = lib.mkIf cfg.enable {
opts.sessionoptions = lib.mkDefault (
lib.strings.concatStringsSep "," [
"blank"
"buffers"
"curdir"
"folds"
"help"
"tabpages"
"winsize"
"winpos"
"terminal"
"localoptions"
]
);
plugins = {
auto-session = {
enable = lib.mkDefault true;
settings = {
cwd_change_handling = lib.mkDefault true;
lazy_support = false;
show_auto_restore_notif = true;
bypass_save_filetypes = [ "neo-tree" ];
};
};
lz-n.enable = true;
neo-tree.lazyLoad = {
enable = true;
settings.cmd = "Neotree";
};
fidget.lazyLoad = {
enable = true;
settings = {
event = [ "LspAttach" ];
};
};
};
};
}
@@ -21,22 +21,13 @@ in
neo-tree = {
enable = true;
settings = {
event_handlers = [
{
event = "neo_tree_buffer_leave";
handler.__raw = ''
function()
require('neo-tree').close_all()
end
'';
}
];
window.position = "float";
filesystem = {
use_libuv_file_watcher = true;
follow_current_file.enabled = true;
filtered_items.visible = true;
};
popupBorderStyle = "rounded";
popup_border_style = "";
};
};
which-key.settings.spec = [
@@ -17,6 +17,7 @@
./aerial.nix
./auto-save.nix
./auto-session.nix
./auto-format.nix
./harpoon.nix
./mergetool.nix
+51 -40
View File
@@ -10,49 +10,60 @@ in
config = lib.mkIf cfg.enable {
keymaps = [
{
key = "hh";
key = "<leader>m";
mode = "n";
action = ":Telescope harpoon marks<CR>";
action.__raw = ''
function() require("harpoon"):list():add() end
'';
options.desc = "Mark";
}
{
key = "<leader><leader>";
mode = "n";
action.__raw = ''
function()
local harpoon = require("harpoon")
local conf = require("telescope.config").values
local harpoon_files = harpoon:list()
local file_paths = {}
for _, item in ipairs(harpoon_files.items) do
table.insert(file_paths, item.value)
end
require("telescope.pickers").new({}, {
prompt_title = "Harpoon",
finder = require("telescope.finders").new_table({
results = file_paths,
}),
previewer = conf.file_previewer({}),
sorter = conf.generic_sorter({}),
}):find()
end
'';
options.desc = "Harpoon List";
}
{
key = "<C-n>";
mode = "n";
action.__raw = ''
function() require("harpoon"):list():next() end
'';
options.desc = "Harpoon Next";
}
{
key = "<C-p>";
mode = "n";
action.__raw = ''
function() require("harpoon"):list():prev() end
'';
options.desc = "Harpoon Prev";
}
];
plugins = {
telescope.enable = true;
harpoon = {
enable = true;
enableTelescope = true;
keymaps = {
addFile = "hm";
navNext = "hn";
navPrev = "hp";
};
};
which-key.settings.spec = [
{
__unkeyed-1 = "h";
group = "Harpoon";
icon = "󱀺";
}
{
__unkeyed-1 = "hh";
desc = "Marks";
icon = "󰈢";
}
{
__unkeyed-1 = "hm";
desc = "Add File";
icon = "󱪝";
}
{
__unkeyed-1 = "hn";
desc = "Next";
icon = "";
}
{
__unkeyed-1 = "hp";
desc = "Prev";
icon = "";
}
];
plugins.harpoon = {
enable = true;
enableTelescope = true;
};
};
}
@@ -64,6 +64,7 @@ in
settings = {
direction = lib.mkDefault "vertical";
size = lib.mkDefault 60;
float_opts.border = config.opts.winborder;
};
};
+12 -8
View File
@@ -6,10 +6,16 @@
vimAlias = true;
nixpkgs.useGlobalPackages = true;
extraConfigLuaPre = ''
require('vim._core.ui2').enable()
'';
opts = {
number = true;
relativenumber = true;
cmdheight = 0;
tabstop = 2;
softtabstop = 2;
shiftwidth = 2;
@@ -28,6 +34,9 @@
updatetime = 50;
fillchars.eob = " ";
winborder = "solid";
pumborder = "solid";
};
clipboard = {
register = "unnamedplus";
@@ -37,11 +46,13 @@
presets = {
auto-save.enable = true;
auto-session.enable = true;
auto-format.enable = true;
lazygit.enable = true;
mergetool.enable = true;
undotree.enable = true;
aerial.enable = true;
harpoon.enable = true;
base = {
completion = {
enable = true;
@@ -55,7 +66,7 @@
enable = true;
prettier = true;
};
leap.enable = false;
leap.enable = true;
spellcheck.enable = true;
status-line.enable = true;
syntax.enable = true;
@@ -103,13 +114,6 @@
enable = false; # TODO: looks weird with Neovide
settings.line_numbers = false;
};
auto-session = {
enable = true;
settings = {
cwd_change_handling = true;
use_git_branch = true;
};
};
lsp.servers = {
html.enable = true;
+1 -1
View File
@@ -90,7 +90,7 @@ in
services = {
kmscon = {
enable = true;
hwaccel = true;
config.hwaccel = true;
};
greetd = {
enable = true;
+1 -1
View File
@@ -137,7 +137,7 @@ in
services = {
kmscon = {
enable = true;
hwaccel = true;
config.hwaccel = true;
};
greetd = {
enable = true;