diff --git a/home/programs/nvf/default.nix b/home/programs/nvf/default.nix index 0fa3ce0..e400962 100644 --- a/home/programs/nvf/default.nix +++ b/home/programs/nvf/default.nix @@ -1,12 +1,24 @@ { inputs, pkgs, + config, ... -}: { +}: let + c = config.lib.stylix.colors; +in { imports = [inputs.nvf.homeManagerModules.default]; programs.nvf = { enable = true; settings = { + vim.luaConfigRC.hl-overrides = '' + local function apply_hl() + vim.api.nvim_set_hl(0, "MiniStarterHeader", { fg = "#${c.base0D}", bold = true }) + vim.api.nvim_set_hl(0, "SnacksPickerBorder", { fg = "#${c.base0D}" }) + vim.api.nvim_set_hl(0, "SnacksPickerTitle", { fg = "#${c.base0D}", bold = true }) + end + apply_hl() + vim.api.nvim_create_autocmd("ColorScheme", { pattern = "*", callback = apply_hl }) + ''; imports = [ ./options.nix ./languages.nix diff --git a/home/programs/nvf/mini.nix b/home/programs/nvf/mini.nix index 2814a87..1de3358 100644 --- a/home/programs/nvf/mini.nix +++ b/home/programs/nvf/mini.nix @@ -1,4 +1,4 @@ -{ +{lib, ...}: { vim.luaConfigRC.mini-clue = '' local miniclue = require('mini.clue') miniclue.setup({ @@ -29,6 +29,7 @@ { mode = 'n', keys = 'x', desc = '+trouble' }, { mode = 'n', keys = '!', desc = 'shell' }, { mode = 'v', keys = '!', desc = 'shell' }, + { mode = 'n', keys = 'e', desc = 'yazi' }, }, window = { delay = 300 }, }) @@ -36,7 +37,55 @@ vim.mini = { ai.enable = true; - starter.enable = true; + starter = { + enable = true; + setupOpts = { + header = '' + ⣟⣯⣟⣯⡇⠀⣿⢩⣛⡼⣏⠀⠈⠋⠀⣈⡷⣙⢎⡳⣙⢮⣙⢮⣙⢎⡳⣙⢾⣿ + ⢿⡾⣽⡞⣷⣤⣏⡳⡜⡼⠗⠁⢀⠀⠙⢧⠳⣍⢞⡱⣭⠲⣍⠶⣩⢞⡱⡭⣾⣿ + ⠈⠻⠧⢿⣧⣿⠶⣵⢻⢞⡷⢲⡟⡶⢴⡭⢿⣜⣮⡱⢎⡳⣍⢞⡱⢮⡱⣳⣿⣽ + ⠀⣰⣶⡏⢷⣈⣿⣸⣇⣾⣸⣿⣾⣹⣆⡹⡎⡶⢇⡿⣹⢷⣾⣈⠷⣇⢷⣿⣿⣹ + ⣾⣻⣭⣿⣾⣿⣿⣟⣿⣿⡿⣽⡿⣿⢿⣿⣿⣿⣾⣶⣵⣾⠲⣭⢳⣞⣾⡿⣷⣿ + ⣿⣿⣿⣯⣷⣿⣿⠿⢝⠚⠋⠉⠉⠉⠙⠚⠛⡾⢿⣿⣻⣿⣿⣶⣏⠶⣩⠿⣿⡈ + ⣿⣟⣿⣻⣿⡏⠀⠀⠀⠳⡀⠀⠀⠀⠀⠰⠊⠀⠀⠈⠙⠳⣿⣿⣿⣿⣧⣻⣿⣿ + ⠘⢻⣿⣿⣽⡇⠈⠧⣄⠀⠀⠀⠀⠀⠀⢀⣄⡤⠴⠚⠀⠀⠀⠙⢿⣷⡿⣿⣿⣿ + ⠀⠠⢈⢛⣿⠀⠚⠉⠉⠱⣼⡷⠀⠀⠀⠀⠉⠉⠑⠶⠀⠀⠀⠀⠀⠻⣿⣿⣾⢿ + ⠀⠡⠈⠉⠹⡀⠀⠀⡄⠀⣸⡀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣯⣿⢿ + ⠀⠁⢶⣶⠀⢷⠀⠀⠉⠉⠀⠈⠉⠶⠆⠈⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣾⣿ + ⠀⠡⢸⢹⠏⡍⠓⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣺⡟⠋⠉⢹⢭⢣ + ⠀⠀⢸⣹⡏⠭⠭⠭⠙⣲⣦⣤⣤⣀⣀⣀⣀⣤⣤⣶⣞⠉⠙⠛⠷⢀⣀⠘⣎⠧ + ⢁⣈⣀⣀⢀⣀⣀⣀⣼⠟⠹⢿⣯⣟⣿⣻⡿⠿⠛⢿⣿⣦⡀⠀⠀⠀⠀⠉⠉⠘ + ''; + footer = ""; + items = [ + { + name = "files"; + action = lib.mkLuaInline "function() Snacks.picker.files() end"; + section = ""; + } + { + name = "directories"; + action = lib.mkLuaInline "function() Snacks.explorer() end"; + section = ""; + } + { + name = "tmp"; + action = lib.mkLuaInline '' + function() + local uuid = vim.fn.system("uuidgen"):match("(%S+)") + vim.cmd("edit /tmp/" .. uuid .. ".md") + end + ''; + section = ""; + } + { + name = "recent"; + action = lib.mkLuaInline "function() Snacks.picker.recent() end"; + section = ""; + } + ]; + }; + }; comment.enable = true; icons.enable = true; indentscope.enable = true; diff --git a/home/programs/nvf/picker.nix b/home/programs/nvf/picker.nix index 8ef37d6..eae7de3 100644 --- a/home/programs/nvf/picker.nix +++ b/home/programs/nvf/picker.nix @@ -18,7 +18,7 @@ desc = "Smart Find Files"; } { - key = "e"; + key = "E"; mode = "n"; silent = true; action = "lua Snacks.explorer()"; diff --git a/home/programs/nvf/utils.nix b/home/programs/nvf/utils.nix index 8b05655..57647fa 100644 --- a/home/programs/nvf/utils.nix +++ b/home/programs/nvf/utils.nix @@ -5,6 +5,10 @@ vim.keymap.del("n", "tdt") ''; undoFile.enable = true; + utility.yazi-nvim = { + enable = true; + mappings.openYazi = "e"; + }; notes.todo-comments.enable = true; assistant.copilot = { enable = true;