{ config, lib, pkgs, ... }: let notebook = { dir = "${config.home.homeDirectory}/Sync/Notebook"; }; in { programs.zk = { enable = true; settings = { inherit notebook; filter = { recents = "--sort created- --created-after 'last two weeks'"; journal = "--sort created journal"; }; alias = { bl = "zk list --link-to $@"; conf = "$EDITOR \"$ZK_NOTEBOOK_DIR/.zk/config.toml\""; paths = "zk list --quiet --format \"'{{path}}'\" --delimiter ' ' $@"; unlinked-mentions = "zk list --mentioned-by $1 --no-linked-by $1"; daily = "zk new --no-input '${notebook.dir}/journals'"; dn = "zk daily"; }; tools = { shell = lib.mkDefault "/bin/bash"; # for aliases, fish doesn't work so well }; }; }; home.packages = with pkgs; [ iwe ]; programs.nixvim.plugins = { zk = { enable = true; settings = { picker = "telescope"; }; }; lsp.servers.zk = { enable = true; }; }; programs.emacs = { extraPackages = epkgs: (with epkgs; [ zk zk-index zk-consult ]); }; programs.zed-editor = { extensions = [ "IWE" ]; }; }