From 028a6611d2c640a890c2311dbe9faaa01c53b578 Mon Sep 17 00:00:00 2001 From: hektor Date: Sun, 23 Aug 2026 13:56:46 +0200 Subject: [PATCH] refactor(zk): clean up and simplify zk module --- dots/.bashrc | 4 ---- home/modules/zk/default.nix | 21 ++++++--------------- home/modules/zk/scripts/save-zk.sh | 2 -- home/modules/zk/scripts/setup-zk.sh | 13 ------------- home/modules/zk/scripts/zk.sh | 17 +++++++++++++---- 5 files changed, 19 insertions(+), 38 deletions(-) delete mode 100644 home/modules/zk/scripts/save-zk.sh delete mode 100644 home/modules/zk/scripts/setup-zk.sh diff --git a/dots/.bashrc b/dots/.bashrc index b2790e2..63b735a 100644 --- a/dots/.bashrc +++ b/dots/.bashrc @@ -61,10 +61,6 @@ export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab [ -f /opt/miniconda3/etc/profile.d/conda.sh ] && . /opt/miniconda3/etc/profile.d/conda.sh # }}} -# Zettelkasten {{{ -export ZK_PATH="$HOME/.zk" - - # Codi # Usage: codi [filetype] [filename] codi() { diff --git a/home/modules/zk/default.nix b/home/modules/zk/default.nix index 7365fb6..c28d3a2 100644 --- a/home/modules/zk/default.nix +++ b/home/modules/zk/default.nix @@ -13,8 +13,7 @@ in enable = lib.mkEnableOption "zettelkasten"; path = lib.mkOption { type = lib.types.str; - default = config.home.homeDirectory + "/.zk"; - description = "Path to the zettelkasten directory"; + default = "${config.home.homeDirectory}/.zk"; }; }; @@ -24,21 +23,13 @@ in packages = [ (pkgs.writeShellApplication { name = "zk"; - runtimeInputs = with pkgs; [ tmux ]; + runtimeInputs = with pkgs; [ + tmux + gh + ]; + runtimeEnv.ZK_PATH = cfg.path; text = builtins.readFile ./scripts/zk.sh; }) - - (pkgs.writeShellApplication { - name = "save-zk"; - runtimeInputs = with pkgs; [ git ]; - text = builtins.readFile ./scripts/save-zk.sh; - }) - - (pkgs.writeShellApplication { - name = "setup-zk"; - runtimeInputs = with pkgs; [ gh ]; - text = builtins.readFile ./scripts/setup-zk.sh; - }) ]; }; }; diff --git a/home/modules/zk/scripts/save-zk.sh b/home/modules/zk/scripts/save-zk.sh deleted file mode 100644 index a85c23e..0000000 --- a/home/modules/zk/scripts/save-zk.sh +++ /dev/null @@ -1,2 +0,0 @@ -cd "$ZK_PATH" || { echo "No zettelkasten directory found"; exit 1; } -git add . && git commit -m "Update" && git push diff --git a/home/modules/zk/scripts/setup-zk.sh b/home/modules/zk/scripts/setup-zk.sh deleted file mode 100644 index 32ebb45..0000000 --- a/home/modules/zk/scripts/setup-zk.sh +++ /dev/null @@ -1,13 +0,0 @@ -if [ ! -d "$ZK_PATH" ]; then - echo "[zk] Setting up zettelkasten" - gh repo clone zk "$ZK_PATH" -else - echo "[zk] Zettelkasten already set up." -fi - -read -p "Would you like open your zettelkasten? [y/N] " -n 1 -r -echo - -if [[ $REPLY =~ ^[Yy]$ ]]; then - $EDITOR "$ZK_PATH" -fi diff --git a/home/modules/zk/scripts/zk.sh b/home/modules/zk/scripts/zk.sh index 2d85f8e..82a6f61 100644 --- a/home/modules/zk/scripts/zk.sh +++ b/home/modules/zk/scripts/zk.sh @@ -1,7 +1,16 @@ -current_zettel_path="$(cat "$ZK_PATH/current-zettel.txt")" +if [ ! -d "$ZK_PATH" ]; then + echo "[zk] Setting up zettelkasten" + gh repo clone zk "$ZK_PATH" +fi + +if [ -f "$ZK_PATH/current-zettel.txt" ]; then + target="$(cat "$ZK_PATH/current-zettel.txt")" +else + target="." +fi if [ -n "${TMUX:-}" ]; then - cd "$ZK_PATH" && $EDITOR "$current_zettel_path" + cd "$ZK_PATH" && $EDITOR "$target" else echo 'Not in tmux' echo 'Choose an option:' @@ -14,12 +23,12 @@ else tmux attach -t zk else tmux new-session -s zk -n zk -d - tmux send-keys -t zk:zk "cd $ZK_PATH && $EDITOR $current_zettel_path" Enter + tmux send-keys -t zk:zk "cd ${ZK_PATH} && $EDITOR ${target}" Enter tmux attach -t zk fi ;; 2) - cd "$ZK_PATH" && $EDITOR "$current_zettel_path" + cd "$ZK_PATH" && $EDITOR "$target" ;; *) echo 'Not opening Zettelkasten'