chore: routine maintenance

This commit is contained in:
danny 2025-11-23 16:24:38 +08:00
parent c45ba82b90
commit c7743490a7
75 changed files with 1200 additions and 634 deletions

View file

@ -0,0 +1,72 @@
{
lib,
config,
osConfig,
...
}:
let
inherit (lib.generators) mkLuaInline;
inherit (osConfig.systemConf) username;
relativeDir = "projects/leetcode";
dataDir = "${config.home.homeDirectory}/${relativeDir}";
in
{
programs.nvf.settings.vim.utility.leetcode-nvim = {
enable = true;
setupOpts = {
image_support = true;
lang = "rust";
plugins.non_standalone = true;
storage.home = mkLuaInline ''"${dataDir}"'';
injector = mkLuaInline ''
{
['rust'] = {
before = { '#[allow(dead_code)]', 'fn main() {}', '#[allow(dead_code)]', 'struct Solution;' },
}
}
'';
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
end
''
)
];
};
};
systemd.user.tmpfiles.rules = [
"d ${dataDir} 0744 ${username} users -"
];
}