diff options
Diffstat (limited to 'modules/kakoune')
| -rw-r--r-- | modules/kakoune/default.nix | 25 | ||||
| -rw-r--r-- | modules/kakoune/kak-tree-sitter.nix | 19 |
2 files changed, 44 insertions, 0 deletions
diff --git a/modules/kakoune/default.nix b/modules/kakoune/default.nix new file mode 100644 index 0000000..bacab15 --- /dev/null +++ b/modules/kakoune/default.nix @@ -0,0 +1,25 @@ +{ pkgs, lib, ... }: +with pkgs; +let + kak-tree-sitter-unstable = import ./kak-tree-sitter.nix { inherit pkgs lib; }; + kak-tmux = pkgs.writeShellScriptBin "kak-tmux" '' + if [ -t 0 ] && [ -z "$TMUX" ]; then + exec </dev/tty; exec <&1; ${tmux}/bin/tmux new "${kakoune}/bin/kak$(printf ' %q' "$@")" + else + exec "${kakoune}/bin/kak" "$@" + fi + ''; +in { + environment.systemPackages = [ + kakoune + kakoune-lsp + kakoune-cr + kak-tree-sitter-unstable + kak-tmux + + ripgrep + tmux + gitu + moreutils + ]; +} diff --git a/modules/kakoune/kak-tree-sitter.nix b/modules/kakoune/kak-tree-sitter.nix new file mode 100644 index 0000000..8860d64 --- /dev/null +++ b/modules/kakoune/kak-tree-sitter.nix @@ -0,0 +1,19 @@ +{ lib, pkgs }: +with pkgs; +rustPlatform.buildRustPackage rec { + pname = "kak-tree-sitter"; + version = "3.0.0-local"; + + src = fetchFromSourcehut { + owner = "~hadronized"; + repo = "kak-tree-sitter"; + rev = "cdcfb42da9affd9dd0db9e8df1173731c61e3d9f"; # 27 Oct 2025 + hash = "sha256-Q8R++fEJMZFftiI9zGjwF7X8mek2oc40Yl9WMUtQWEA="; + }; + + cargoHash = "sha256-lZNM5HqICP6JfaMiBjACcUNRTTTIRhq2ou8cOLU0yOU="; + + meta = { + mainProgram = "kak-tree-sitter"; + }; +} |
