mirror of
https://codeberg.org/muon/home.git
synced 2026-03-08 03:25:16 +00:00
122 lines
3.3 KiB
Nix
122 lines
3.3 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
...
|
|
}: {
|
|
options.mods.obsidian.enable =
|
|
lib.mkEnableOption "enables obsidian";
|
|
|
|
config = lib.mkIf config.mods.obsidian.enable {
|
|
programs.nvf.settings.vim.notes.obsidian = {
|
|
enable = true;
|
|
setupOpts = {
|
|
workspaces = [
|
|
{
|
|
name = "agentic";
|
|
path = "~/work/vaults/agentic";
|
|
}
|
|
];
|
|
completion.nvim_cmp = true;
|
|
|
|
note_id_func =
|
|
lib.generators.mkLuaInline
|
|
# lua
|
|
''
|
|
function(title)
|
|
local suffix = ""
|
|
if title ~= nil then
|
|
-- If title is given, transform it into valid file name.
|
|
suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
|
|
else
|
|
-- If title is nil, just add 4 random uppercase letters to the suffix.
|
|
for _ = 1, 4 do
|
|
suffix = suffix .. string.char(math.random(65, 90))
|
|
end
|
|
end
|
|
return tostring(os.date("%Y%m%d%H%M%S")) .. "-" .. suffix
|
|
end
|
|
'';
|
|
|
|
ui = {
|
|
enable = true;
|
|
update_debounce = 200;
|
|
max_file_length = 5000;
|
|
checkboxes = {
|
|
" " = {
|
|
char = "";
|
|
hl_group = "ObsidianTodo";
|
|
};
|
|
"x" = {
|
|
char = "";
|
|
hl_group = "ObsidianDone";
|
|
};
|
|
">" = {
|
|
char = "";
|
|
hl_group = "ObsidianRightArrow";
|
|
};
|
|
"~" = {
|
|
char = "";
|
|
hl_group = "ObsidianTilde";
|
|
};
|
|
"!" = {
|
|
char = "";
|
|
hl_group = "ObsidianImportant";
|
|
};
|
|
};
|
|
bullets = {
|
|
char = "•";
|
|
hl_group = "ObsidianBullet";
|
|
};
|
|
external_link_icon = {
|
|
char = "";
|
|
hl_group = "ObsidianExtLinkIcon";
|
|
};
|
|
reference_text = {hl_group = "ObsidianRefText";};
|
|
highlight_text = {hl_group = "ObsidianHighlightText";};
|
|
tags = {hl_group = "ObsidianTag";};
|
|
block_ids = {hl_group = "ObsidianBlockID";};
|
|
hl_groups = {
|
|
ObsidianTodo = {
|
|
bold = true;
|
|
fg = "#f78c6c";
|
|
};
|
|
ObsidianDone = {
|
|
bold = true;
|
|
fg = "#89ddff";
|
|
};
|
|
ObsidianRightArrow = {
|
|
bold = true;
|
|
fg = "#f78c6c";
|
|
};
|
|
ObsidianTilde = {
|
|
bold = true;
|
|
fg = "#ff5370";
|
|
};
|
|
ObsidianImportant = {
|
|
bold = true;
|
|
fg = "#d73128";
|
|
};
|
|
ObsidianBullet = {
|
|
bold = true;
|
|
fg = "#89ddff";
|
|
};
|
|
ObsidianRefText = {
|
|
underline = true;
|
|
fg = "#c792ea";
|
|
};
|
|
ObsidianExtLinkIcon = {fg = "#c792ea";};
|
|
ObsidianTag = {
|
|
italic = true;
|
|
fg = "#89ddff";
|
|
};
|
|
ObsidianBlockID = {
|
|
italic = true;
|
|
fg = "#89ddff";
|
|
};
|
|
ObsidianHighlightText = {bg = "#75662e";};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|