aboutsummaryrefslogtreecommitdiff
path: root/tmux-tsunami/modules/common/sessionizer2.nix
diff options
context:
space:
mode:
Diffstat (limited to 'tmux-tsunami/modules/common/sessionizer2.nix')
-rw-r--r--tmux-tsunami/modules/common/sessionizer2.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/tmux-tsunami/modules/common/sessionizer2.nix b/tmux-tsunami/modules/common/sessionizer2.nix
new file mode 100644
index 0000000..5f159df
--- /dev/null
+++ b/tmux-tsunami/modules/common/sessionizer2.nix
@@ -0,0 +1,50 @@
+{
+ pkgs,
+ config,
+ lib,
+ tsunamiLib,
+ std,
+ ...
+}: let
+ inherit (tsunamiLib) scriptPath filePath;
+ cfg = config.tsunami.sessionizer2;
+in {
+ options.tsunami.sessionizer2 = {
+ enable = lib.mkOption {
+ type = lib.types.bool;
+ default = true;
+ };
+ };
+
+ config = lib.mkIf cfg.enable {
+ tsunami.keys.leader = [
+ {
+ name = "New Session";
+ key = "C-n";
+ exec = "run-shell ${scriptPath "sessions-menu"}";
+ }
+ ];
+
+ tsunami.files = {
+ "broot_sessionizer2_launcher" = std.serde.toTOML {
+ imports = ["~/.config/broot/conf.hjson"]; # inherit from user's config
+ verbs = [
+ {
+ invocation = "tmux-window";
+ external = ["tmux" "new-window" "-c" "#{?@default-path,#{@default-path},#{pane_current_path}}" "$EDITOR '{file}'"];
+ key = "enter";
+ apply_to = "file";
+ leave_broot = false;
+ }
+ {
+ invocation = "tmux-window";
+ external = ["tmux" "new-window" "-c" "#{?@default-path,#{@default-path},#{pane_current_path}}" "$EDITOR '{file}'"];
+ key = "enter";
+ apply_to = "file";
+ leave_broot = false;
+ }
+ ];
+ };
+ };
+ };
+}