From f0bd49e0b6d83f8f3b5034ff1c323999a80fffc1 Mon Sep 17 00:00:00 2001 From: gwg313 Date: Thu, 16 Apr 2026 01:54:09 -0400 Subject: [PATCH 1/3] add zk Signed-off-by: gwg313 --- modules/aspects/roles.nix | 1 + modules/features/desktop/zk.nix | 107 ++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 modules/features/desktop/zk.nix diff --git a/modules/aspects/roles.nix b/modules/aspects/roles.nix index c92965d..9ecf65b 100644 --- a/modules/aspects/roles.nix +++ b/modules/aspects/roles.nix @@ -56,6 +56,7 @@ "earlyoom" "dolphin" "pass" + "zk" ]; laptop.features = [ diff --git a/modules/features/desktop/zk.nix b/modules/features/desktop/zk.nix new file mode 100644 index 0000000..8a8dc67 --- /dev/null +++ b/modules/features/desktop/zk.nix @@ -0,0 +1,107 @@ +{ ... }: +{ + config.dendritic.features.zk.homeModules = [ + ( + { ... }: + { + + home.sessionVariables = { + ZK_NOTEBOOK_DIR = "/home/gwg313/my-notes"; + }; + programs.zk = { + enable = true; + settings = { + notebook = { + dir = "~/my-notes"; + }; + note = { + language = "en"; + default-title = "Untitled"; + filename = "{{id}}-{{slug title}}"; + extension = "md"; + template = "inbox.md"; + id-charset = "alphanum"; + id-length = 4; + id-case = "lower"; + }; + format.markdown = { + multiword-tags = true; + hashtags = true; + }; + + tool = { + editor = "nvim"; + fzf-preview = "bat -p --color always {-1}"; + }; + + extra = { + author = "gwg313"; + }; + group = { + inbox = { + paths = [ "inbox" ]; + note.template = "inbox.md"; + }; + projects = { + paths = [ "projects" ]; + note.template = "project.md"; + }; + literature = { + paths = [ "literature" ]; + note.template = "literature.md"; + }; + note = { + paths = [ "notes" ]; + note.template = "permanent.md"; + }; + + seed = { + paths = [ "notes" ]; + note.template = "seed.md"; + }; + + daily = { + paths = [ "journal" ]; + note.filename = "{{format-date now}}"; + note.template = "daily.md"; + }; + }; + filter = { + # Notes created in last 2 weeks + recents = "--sort created- --created-after 'last two weeks'"; + + # Only permanent notes + permanent = "--group notes"; + + # Orphans (useful for cleaning up disconnected notes) + orphans = "--orphan"; + seeds = "--tag seed --sort created-"; + }; + alias = { + ls = "zk list --interactive $@"; + edit = "zk edit --interactive $@"; + inbox = ''zk new --no-input "$ZK_NOTEBOOK_DIR/inbox" --group inbox --title "$@"''; + seed = ''zk new --no-input "$ZK_NOTEBOOK_DIR/inbox" --group seed --title "$@"''; + proj = ''zk new --no-input "$ZK_NOTEBOOK_DIR/projects/" --group projects --title "$@"''; + lit = ''zk new --no-input "$ZK_NOTEBOOK_DIR/literature" --group literature --title "$@"''; + note = ''zk new --no-input "$ZK_NOTEBOOK_DIR/notes" --group notes --title "$@"''; + # Edit the last modified note. + edlast = "zk edit --limit 1 --sort modified- $@"; + seeds = "zk list seeds --interactive"; + # Edit the notes selected interactively among the notes created the last two weeks. + recent = "zk edit --sort created- --created-after 'last two weeks' --interactive"; + + # Show a random note. + lucky = "zk list --quiet --format full --sort random --limit 1"; + # Show backlinks to a given note + bl = "zk list --link-to $@"; + + # Orphans + orph = "zk list orphans --interactive"; + }; + }; + }; + } + ) + ]; +} From 2b0d0ce8d81c6ed9d73c7800289bd8a9273e5a8e Mon Sep 17 00:00:00 2001 From: gwg313 Date: Thu, 16 Apr 2026 13:41:27 -0400 Subject: [PATCH 2/3] add jj --- modules/aspects/roles.nix | 1 + modules/features/programs/cli/vc-jujutsu.nix | 119 +++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 modules/features/programs/cli/vc-jujutsu.nix diff --git a/modules/aspects/roles.nix b/modules/aspects/roles.nix index 9ecf65b..70b4063 100644 --- a/modules/aspects/roles.nix +++ b/modules/aspects/roles.nix @@ -76,6 +76,7 @@ ]; developer.features = [ + "jujutsu" "developer-cli" "editor-neovim" "containers-podman" diff --git a/modules/features/programs/cli/vc-jujutsu.nix b/modules/features/programs/cli/vc-jujutsu.nix new file mode 100644 index 0000000..deaaf28 --- /dev/null +++ b/modules/features/programs/cli/vc-jujutsu.nix @@ -0,0 +1,119 @@ +{ ... }: +{ + config.dendritic.features.jujutsu = { + homeModules = [ + ( + { pkgs, ... }: + { + programs.jujutsu = { + enable = true; + settings = { + user = { + email = "gwg313@pm.me"; + name = "gwg313"; + }; + signing = { + behavior = "own"; + backend = "gpg"; + }; + aliases = { + c = [ "commit" ]; + ci = [ + "commit" + "--interactive" + ]; + e = [ "edit" ]; + i = [ + "git" + "init" + "--colocate" + ]; + tug = [ + "bookmark" + "move" + "--from" + "closest_bookmark(@-)" + "--to" + "@-" + ]; + log-recent = [ + "log" + "-r" + "default() & recent()" + ]; + nb = [ + "bookmark" + "create" + "-r" + "@-" + ]; # new bookmark + upmain = [ + "bookmark" + "set" + "main" + ]; + squash-desc = [ + "squash" + "::@" + "-d" + "@" + ]; + rebase-main = [ + "rebase" + "-d" + "main" + ]; + amend = [ + "describe" + "-m" + ]; + pushall = [ + "git" + "push" + "--all" + ]; + push = [ + "git" + "push" + "--allow-new" + ]; + pull = [ + "git" + "fetch" + ]; + dmain = [ + "diff" + "-r" + "main" + ]; + l = [ + "log" + "-T" + "builtin_log_compact" + ]; + lf = [ + "log" + "-r" + "all()" + ]; + r = [ "rebase" ]; + s = [ "squash" ]; + si = [ + "squash" + "--interactive" + ]; + }; + }; + }; + + home.packages = with pkgs; [ + lazyjj + meld + ]; + + } + ) + ]; + + }; +} From 3bd99264b9ae19a394d8ca6ae5cf1ef608c48e7d Mon Sep 17 00:00:00 2001 From: gwg313 Date: Thu, 16 Apr 2026 14:26:24 -0400 Subject: [PATCH 3/3] fix pass path env var --- modules/features/desktop/pass.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/features/desktop/pass.nix b/modules/features/desktop/pass.nix index e4d3037..391b1b2 100644 --- a/modules/features/desktop/pass.nix +++ b/modules/features/desktop/pass.nix @@ -8,7 +8,7 @@ enable = true; package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]); settings = { - PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store"; + PASSWORD_STORE_DIR = "$HOME/.local/share/password-store"; }; };