From 53b83b3471ebf490b8f17c5371e9c69f7088ecb2 Mon Sep 17 00:00:00 2001 From: danny Date: Tue, 30 Dec 2025 16:24:54 +0800 Subject: [PATCH] fix: yazi opener --- home/user/nvf/default.nix | 9 ++- home/user/nvf/plugins/leetcode/default.nix | 81 ++++++++++++---------- home/user/yazi.nix | 6 +- home/user/zen-browser.nix | 3 +- 4 files changed, 58 insertions(+), 41 deletions(-) diff --git a/home/user/nvf/default.nix b/home/user/nvf/default.nix index 73d54b6..9c73d8a 100644 --- a/home/user/nvf/default.nix +++ b/home/user/nvf/default.nix @@ -1,5 +1,6 @@ { osConfig, + config, pkgs, lib, inputs, @@ -7,7 +8,7 @@ }: let inherit (lib.generators) mkLuaInline; - inherit (lib) concatStringsSep; + inherit (lib) concatStringsSep optionalString; suda-nvim = pkgs.vimUtils.buildVimPlugin { name = "vim-suda"; @@ -23,6 +24,8 @@ let name = "marks-nvim"; src = inputs.marks-nvim; }; + + yaziOpenDir = config.programs.nvf.settings.vim.utility.yazi-nvim.setupOpts.open_for_directories; in { imports = [ @@ -44,6 +47,9 @@ in vim = { enableLuaLoader = true; vimAlias = true; + luaConfigPre = '' + ${optionalString yaziOpenDir "vim.g.loaded_netrwPlugin = 1"} + ''; extraPackages = with pkgs; [ nixfmt ]; @@ -535,6 +541,7 @@ in yazi-nvim = { enable = true; + setupOpts.open_for_directories = true; mappings.openYaziDir = "-"; mappings.openYazi = "e"; }; diff --git a/home/user/nvf/plugins/leetcode/default.nix b/home/user/nvf/plugins/leetcode/default.nix index 935ad75..bada31c 100644 --- a/home/user/nvf/plugins/leetcode/default.nix +++ b/home/user/nvf/plugins/leetcode/default.nix @@ -1,5 +1,6 @@ { lib, + pkgs, config, osConfig, ... @@ -11,6 +12,17 @@ let dataDir = "${config.home.homeDirectory}/${relativeDir}"; in { + programs.nvf.settings.vim.extraPackages = with pkgs; [ + imagemagick # for image.nvim + ]; + + programs.nvf.settings.vim.utility.images.image-nvim = { + enable = true; + setupOpts = { + backend = "kitty"; + }; + }; + programs.nvf.settings.vim.utility.leetcode-nvim = { enable = true; setupOpts = { @@ -18,7 +30,7 @@ in lang = "rust"; plugins.non_standalone = true; storage.home = mkLuaInline ''"${dataDir}"''; - injector = mkLuaInline '' + injector = mkLuaInline /* lua */ '' { ['rust'] = { before = { '#[allow(dead_code)]', 'fn main() {}', '#[allow(dead_code)]', 'struct Solution;' }, @@ -26,42 +38,39 @@ in } ''; hooks."question_enter" = [ - (mkLuaInline - # lua - '' - function (question) - if question.lang ~= 'rust' then - return - end - - local config = require("leetcode.config") - local problem_dir = config.user.storage.home .. "/Cargo.toml" - local content = [[ - [package] - name = "leetcode" - edition = "2024" - - [lib] - name = "%s" - path = "%s" - - [dependencies] - rand = "0.8" - regex = "1" - itertools = "0.14.0" - ]] - - local file = io.open(problem_dir, "w") - if file then - local formatted = (content:gsub(" +", "")):format(question.q.frontend_id, question:path()) - file:write(formatted) - file:close() - else - print("Failed to open file " .. problem_dir) - end + (mkLuaInline /* lua */ '' + function (question) + if question.lang ~= 'rust' then + return end - '' - ) + + local config = require("leetcode.config") + local problem_dir = config.user.storage.home .. "/Cargo.toml" + local content = [[ + [package] + name = "leetcode" + edition = "2024" + + [lib] + name = "%s" + path = "%s" + + [dependencies] + rand = "0.8" + regex = "1" + itertools = "0.14.0" + ]] + + local file = io.open(problem_dir, "w") + if file then + local formatted = (content:gsub(" +", "")):format(question.q.frontend_id, question:path()) + file:write(formatted) + file:close() + else + print("Failed to open file " .. problem_dir) + end + end + '') ]; }; }; diff --git a/home/user/yazi.nix b/home/user/yazi.nix index 39a6ca4..db424ca 100644 --- a/home/user/yazi.nix +++ b/home/user/yazi.nix @@ -66,7 +66,7 @@ in opener = { edit = [ { - run = ''''\${EDITOR:=nvim} "$0"''; + run = ''''\${EDITOR:=nvim} "$1"''; desc = "$EDITOR"; block = true; } @@ -77,12 +77,12 @@ in ]; player = [ - { run = ''mpv --force-window "$0"''; } + { run = ''mpv --force-window "$1"''; } ]; open = [ { - run = ''xdg-open "$0"''; + run = ''xdg-open "$1"''; desc = "Open"; } ]; diff --git a/home/user/zen-browser.nix b/home/user/zen-browser.nix index 5b4bdbc..557cc2a 100644 --- a/home/user/zen-browser.nix +++ b/home/user/zen-browser.nix @@ -171,8 +171,9 @@ in "application/xhtml+xml" "application/json" "application/pdf" - "text/plain" "text/html" + "image/png" + "image/jpeg" ] ); in