{ config, pkgs, lib, ... }: { programs.zk = { enable = true; settings = { notebook.dir = "~/notes"; note = { language = "en"; default-title = "untitled"; filename = "{{slug title}}-{{id}}"; id-charset = "hex"; id-length = 8; id-case = "lower"; }; format.markdown = { link-format = "[[{{filename}}]]"; hashtags = true; }; alias = { bl = ''zk list --link-to $@''; i = ''zk edit --interactive''; unlinked-mentions = ''zk list --mentioned-by $1 --no-linked-by $1''; short = ''zk list --format '{{word-count}}\t{{title}}' --limit 20 --sort word-count $@''; nt = ''zk new --title "''${*:2}" $1''; todo = ''zk list --tag=TODO''; }; tool = { fzf-preview = "bat -p --color always {-1}"; }; lsp = { diagnostics = { wiki-title = "hint"; dead-link = "error"; }; completion = { note-label = "{{title-or-path}}"; note-filter-text = "{{title}} {{path}}"; note-detail = "{{filename}}"; }; }; }; }; }