From 8d528f98143b67f071627f21c79afb94ed02d870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Sat, 15 Jul 2023 12:29:13 +0200 Subject: [PATCH] feat(nvim): add telkasten.nvim --- flake.lock | 19 ++++++++++++- flake.nix | 3 +++ modules/programs/nvim/plugins/default.nix | 33 +++++++++++++++++++++++ overlays/vimPlugins.nix | 6 +++++ 4 files changed, 60 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index 6ecc379..9200900 100644 --- a/flake.lock +++ b/flake.lock @@ -966,7 +966,8 @@ "pre-commit-hooks": "pre-commit-hooks", "rofi-wayland": "rofi-wayland", "smartcolumn-nvim": "smartcolumn-nvim", - "stable": "stable" + "stable": "stable", + "telekasten-nvim": "telekasten-nvim" } }, "rust-overlay": { @@ -1041,6 +1042,22 @@ "type": "github" } }, + "telekasten-nvim": { + "flake": false, + "locked": { + "lastModified": 1689074017, + "narHash": "sha256-yBw0Ja9xBhHcEdzvKvg6LCDzmIgW9kg0XaXS7hcr958=", + "owner": "renerocksai", + "repo": "telekasten.nvim", + "rev": "4a5e57eee9c5154ed77423bb7fa6619fdb0784cd", + "type": "github" + }, + "original": { + "owner": "renerocksai", + "repo": "telekasten.nvim", + "type": "github" + } + }, "wlroots": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 9eae8fc..826a858 100644 --- a/flake.nix +++ b/flake.nix @@ -50,6 +50,9 @@ smartcolumn-nvim.flake = false; smartcolumn-nvim.url = "github:m4xshen/smartcolumn.nvim"; + telekasten-nvim.flake = false; + telekasten-nvim.url = "github:renerocksai/telekasten.nvim"; + # Hyprland hypr-contrib.url = "github:hyprwm/contrib"; hyprland.url = "github:hyprwm/Hyprland"; diff --git a/modules/programs/nvim/plugins/default.nix b/modules/programs/nvim/plugins/default.nix index 89dc6af..54947e2 100644 --- a/modules/programs/nvim/plugins/default.nix +++ b/modules/programs/nvim/plugins/default.nix @@ -243,5 +243,38 @@ with builtins; event = [ "BufReadPost" "BufNewFile" ]; conf = "require('Comment').setup()"; } + { + plugin = telekasten-nvim; + dependencies = [ + { plugin = telescope-nvim; } + ]; + cmd = [ "Telekasten" ]; + keys = [ + { key = "z"; cmd = "Telekasten"; desc = "zettelkasten"; } + ]; + conf = '' + require("telekasten").setup({ + home = vim.fn.expand("~/Nextcloud/Notes/zettelkasten"), + auto_set_filetype = false, + auto_set_syntax = false, + image_subdir = "assets", + }) + vim.api.nvim_create_autocmd({ "BufReadPost", "BufNewFile" }, { + pattern = "*/zettelkasten/*", + callback = function(event) + vim.api.nvim_buf_set_keymap(0, "n", "", "", { + callback = function() + local current_word = vim.fn.expand("") + if vim.fn.match(current_word, "[[") == 0 then + require("telekasten").follow_link() + else + require("telekasten").toggle_todo() + end + end, + }) + end, + }) + ''; + } ]; } diff --git a/overlays/vimPlugins.nix b/overlays/vimPlugins.nix index 4c1e2aa..60d06b2 100644 --- a/overlays/vimPlugins.nix +++ b/overlays/vimPlugins.nix @@ -31,5 +31,11 @@ with lib.my; version = mkVersionInput inputs.cmp-async-path; src = inputs.cmp-async-path; }); + + telekasten-nvim = prev.vimUtils.buildVimPluginFrom2Nix { + pname = "telekasten-nvim"; + version = mkVersionInput inputs.telekasten-nvim; + src = inputs.telekasten-nvim; + }; }; }