all repos — nixfiles @ 39490b0e728bd41e935027bcdddefb41db5ca9c3

System and user configuration, managed by nix and home-manager

user/settings/knowledge.nix (view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{
  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"
    ];
  };
}