From 970de4a6157a57a872721260c09871dbe77a457b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20D=C3=B6nszelmann?= Date: Wed, 25 Sep 2024 14:25:10 +0200 Subject: [PATCH] update config --- flake.lock | 111 ++++++++++++----------- programs/git/default.nix | 2 +- programs/kitty/default.nix | 66 +++++++------- programs/nvim/config.lua | 6 +- programs/nvim/default.nix | 43 +++++---- programs/tmux/default.nix | 181 +++++++++++++++++++++---------------- 6 files changed, 220 insertions(+), 189 deletions(-) diff --git a/flake.lock b/flake.lock index b9792b8..abb7a8e 100644 --- a/flake.lock +++ b/flake.lock @@ -2,18 +2,17 @@ "nodes": { "devshell": { "inputs": { - "flake-utils": "flake-utils_2", "nixpkgs": [ "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1717408969, - "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", + "lastModified": 1722113426, + "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", "owner": "numtide", "repo": "devshell", - "rev": "1ebbe68d57457c8cae98145410b164b5477761f4", + "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", "type": "github" }, "original": { @@ -36,22 +35,6 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -60,11 +43,11 @@ ] }, "locked": { - "lastModified": 1719877454, - "narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", + "lastModified": 1726153070, + "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", + "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", "type": "github" }, "original": { @@ -78,11 +61,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -96,11 +79,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -129,7 +112,10 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": [ + "nixvim", + "flake-compat" + ], "gitignore": "gitignore", "nixpkgs": [ "nixvim", @@ -141,11 +127,11 @@ ] }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1726745158, + "narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", "type": "github" }, "original": { @@ -183,11 +169,11 @@ ] }, "locked": { - "lastModified": 1720188602, - "narHash": "sha256-lC3byBmhVZFzWl/dCic8+cKUEEAXAswWOYjq4paFmbo=", + "lastModified": 1727246346, + "narHash": "sha256-TcUaKtya339Asu+g6KTJ8h7KiKcKXKp2V+At+7tksyY=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3582e5151498bc4d757e8361431ace8529e7bb7", + "rev": "1e22ef1518fb175d762006f9cae7f6312b8caedb", "type": "github" }, "original": { @@ -204,11 +190,11 @@ ] }, "locked": { - "lastModified": 1719827439, - "narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=", + "lastModified": 1726985855, + "narHash": "sha256-NJPGK030Y3qETpWBhj9oobDQRbXdXOPxtu+YgGvZ84o=", "owner": "nix-community", "repo": "home-manager", - "rev": "59ce796b2563e19821361abbe2067c3bb4143a7d", + "rev": "04213d1ce4221f5d9b40bcee30706ce9a91d148d", "type": "github" }, "original": { @@ -241,11 +227,11 @@ ] }, "locked": { - "lastModified": 1719845423, - "narHash": "sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A=", + "lastModified": 1727003835, + "narHash": "sha256-Cfllbt/ADfO8oxbT984MhPHR6FJBaglsr1SxtDGbpec=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ec12b88104d6c117871fad55e931addac4626756", + "rev": "bd7d1e3912d40f799c5c0f7e5820ec950f1e0b3d", "type": "github" }, "original": { @@ -256,11 +242,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720031269, - "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", + "lastModified": 1726937504, + "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", + "rev": "9357f4f23713673f310988025d9dc261c20e70c6", "type": "github" }, "original": { @@ -295,14 +281,15 @@ "nixpkgs": [ "nixpkgs" ], + "nuschtosSearch": "nuschtosSearch", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1720210105, - "narHash": "sha256-AjcTv44xEAOxGqpoMxbfYcUwhCWLHESQIOIMcBFUCKk=", + "lastModified": 1727201864, + "narHash": "sha256-jhWWJ8LTkyWM7/mUvktwwYiZwhIH70/CsW26U4uAZTg=", "owner": "nix-community", "repo": "nixvim", - "rev": "367380bd8462419f0199d262b058fadfb43823ff", + "rev": "b3a90d737d5e69d784a07f359ea71178b506b8dd", "type": "github" }, "original": { @@ -311,6 +298,28 @@ "type": "github" } }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1726995581, + "narHash": "sha256-lgsE/CTkZk9OIiFGEIrxXZQ7Feiv41dqlN7pEfTdgew=", + "owner": "NuschtOS", + "repo": "search", + "rev": "3b7dd61b365ca45380707453758a45f2e9977be3", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "root": { "inputs": { "flake-utils": "flake-utils", @@ -393,11 +402,11 @@ ] }, "locked": { - "lastModified": 1719887753, - "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", + "lastModified": 1726734507, + "narHash": "sha256-VUH5O5AcOSxb0uL/m34dDkxFKP6WLQ6y4I1B4+N3L2w=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", + "rev": "ee41a466c2255a3abe6bc50fc6be927cdee57a9f", "type": "github" }, "original": { diff --git a/programs/git/default.nix b/programs/git/default.nix index 7015b3b..71c9077 100644 --- a/programs/git/default.nix +++ b/programs/git/default.nix @@ -3,7 +3,7 @@ _: { enable = true; userEmail = "jonathan@donsz.nl"; userName = "Jonathan Dönszelmann"; - signing.key = "~/.ssh/id_ed25519.pub"; + signing.key = "/home/jonathan/.ssh/id_ed25519.pub"; signing.signByDefault = true; delta.enable = true; diff --git a/programs/kitty/default.nix b/programs/kitty/default.nix index 75d46e6..b4cd00c 100644 --- a/programs/kitty/default.nix +++ b/programs/kitty/default.nix @@ -1,42 +1,42 @@ -{pkgs, inputs, ...}: { - programs.kitty = { - enable = true; - font.name = "Jetbrains Mono"; - font.size = 13.0; - font.package = pkgs.jetbrains-mono; +{ pkgs, inputs, ... }: { + programs.kitty = { + enable = true; + font.name = "Jetbrains Mono"; + font.size = 13.0; + font.package = pkgs.jetbrains-mono; - settings = { - scrollback_lines = 20000; + settings = { + scrollback_lines = 20000; - repaint_delay = 10; - input_delay = 3; + repaint_delay = 10; + input_delay = 3; - enable_audio_bell = false; - update_check_interval = 0; + enable_audio_bell = false; + update_check_interval = 0; - initial_window_width = "95c"; - initial_window_height = "30c"; - remember_window_size = "no"; + initial_window_width = "95c"; + initial_window_height = "30c"; + remember_window_size = "no"; - draw_minimal_borders = false; - hide_window_decorations = true; + draw_minimal_borders = false; + hide_window_decorations = true; - shell = "${pkgs.tmux}/bin/tmux"; - clipboard_control = "write-clipboard write-primary read-clipboard read-primary"; + shell = "${pkgs.tmux}/bin/tmux"; + clipboard_control = "write-clipboard write-primary read-clipboard read-primary"; - foreground = "#fcfcfc"; - background = "#232627"; - linux_display_server = "auto"; - }; - - keybindings = { - "ctrl+f" = "launch --location=hsplit --allow-remote-control kitty +kitten ${inputs.kitty-search}/search.py @active-kitty-window-id"; - "ctrl+alt+r" = "load_config_file"; - "ctrl+shift+r" = "no_op"; - "ctrl+EQUAL" = "change_font_size all +2.0"; - "ctrl+minus" = "change_font_size all -2.0"; - "ctrl+0" = "change_font_size all 0"; - "ctrl+/" = "send_text all \x1b[47;5u"; - }; + foreground = "#fcfcfc"; + background = "#232627"; + linux_display_server = "auto"; }; + + keybindings = { + "ctrl+f" = "launch --location=hsplit --allow-remote-control kitty +kitten ${inputs.kitty-search}/search.py @active-kitty-window-id"; + "ctrl+alt+r" = "load_config_file"; + "ctrl+shift+r" = "no_op"; + "ctrl+EQUAL" = "change_font_size all +2.0"; + "ctrl+minus" = "change_font_size all -2.0"; + "ctrl+0" = "change_font_size all 0"; + "ctrl+/" = "send_text all \x1b[47;5u"; + }; + }; } diff --git a/programs/nvim/config.lua b/programs/nvim/config.lua index 587b425..6a32de2 100644 --- a/programs/nvim/config.lua +++ b/programs/nvim/config.lua @@ -85,11 +85,7 @@ local builtin = require('telescope.builtin') -- comment vim.keymap.set("n", "c", ":lua require('Comment.api').toggle.linewise.current() j", { remap = true }) -vim.keymap.set("v", "c", ":lua require('Comment.api').toggle.linewise.current() j", { remap = true }) - - -vim.keymap.set("n", "", ":lua require('Comment.api').toggle.linewise.current() j", { remap = true }) -vim.keymap.set("v", "", ":lua require('Comment.api').toggle.linewise.current() j", { remap = true }) +vim.keymap.set("v", "c", ":lua require('Comment.api').toggle.blockwise.current() j", { remap = true }) -- indent and dedent using tab/shift-ta vim.keymap.set("n", "", ">>_") diff --git a/programs/nvim/default.nix b/programs/nvim/default.nix index 5efec20..1860165 100644 --- a/programs/nvim/default.nix +++ b/programs/nvim/default.nix @@ -52,18 +52,21 @@ in key = "."; action = "Lspsaga code_action"; } + ]; plugins = { treesitter = { enable = true; - indent = true; nixGrammars = true; - ensureInstalled = "all"; + settings = { + indent.enable = true; + ensure_installed = "all"; + }; }; rainbow-delimiters.enable = true; - surround.enable = true; + vim-surround.enable = true; cmp-nvim-lsp.enable = true; lsp-format.enable = true; fugitive.enable = true; @@ -88,10 +91,6 @@ in settings = { sticky = true; - opleader = { - line = "gc"; - block = "gb"; - }; }; }; @@ -104,8 +103,8 @@ in mappings = { "" = "navigate_up"; "." = "set_root"; - "f" = "fuzzy_finder"; - "/" = "filter_on_submit"; + "/" = "fuzzy_finder"; + "f" = "filter_on_submit"; "h" = "show_help"; }; }; @@ -144,7 +143,7 @@ in text = "💡"; }; status_text = { - enabled = true; + enabled = false; text = "💡"; }; }; @@ -174,14 +173,14 @@ in enable = true; settings = { cmd = "${pkgs.typst}/bin/typst"; - conceal_math = true; - auto_close_toc = true; + conceal_math = 1; + auto_close_toc = 1; }; }; lualine = { enable = true; - theme = "onedark"; + settings.options.theme = "onedark"; }; rustaceanvim = { @@ -193,7 +192,7 @@ in server = { standalone = false; cmd = [ "rustup" "run" "nightly" "rust-analyzer" ]; - settings = { + default_settings = { rust-analyzer = { inlayHints = { lifetimeElisionHints = { enable = "always"; }; }; check = { command = "clippy"; }; @@ -232,10 +231,11 @@ in }; rustc.source = "discover"; - }; - diagnostics = { - enable = true; - styleLints.enable = true; + + options.diagnostics = { + enable = true; + styleLints.enable = true; + }; }; }; }; @@ -291,7 +291,7 @@ in filetypes = [ "sh" "bash" ]; }; - tsserver = { + ts-ls = { enable = true; filetypes = [ "javascript" "javascriptreact" "typescript" "typescriptreact" ]; @@ -337,7 +337,7 @@ in }; bufferline = { enable = true; - diagnostics = "nvim_lsp"; + settings.options.diagnostics = "nvim_lsp"; }; @@ -353,6 +353,8 @@ in }; }; nix.enable = true; + + web-devicons.enable = true; }; extraPlugins = with pkgs.vimPlugins; [ onedark-nvim @@ -369,6 +371,7 @@ in vim-astro nvim-web-devicons vim-visual-multi + vim-gh-line ]; extraConfigLua = '' diff --git a/programs/tmux/default.nix b/programs/tmux/default.nix index 9937d43..bd11b85 100644 --- a/programs/tmux/default.nix +++ b/programs/tmux/default.nix @@ -1,98 +1,121 @@ { pkgs, ... }: { - programs.tmux = { - enable = true; - mouse = true; - clock24 = true; + programs.tmux = + { + enable = true; + mouse = true; + clock24 = true; - shortcut = "k"; + shortcut = "k"; - extraConfig = '' - # unbind every single normal keybinding - unbind-key -a - set -g set-titles on - set -s escape-time 0 + plugins = with pkgs; [ + { + plugin = tmuxPlugins.mkTmuxPlugin { + pluginName = "suspend"; + version = "1a2f806"; + src = pkgs.fetchFromGitHub { + owner = "MunifTanjim"; + repo = "tmux-suspend"; + rev = "1a2f806666e0bfed37535372279fa00d27d50d14"; + sha256 = "0j7vjrwc7gniwkv1076q3wc8ccwj42zph5wdmsm9ibz6029wlmzv"; + }; + }; + extraConfig = '' + set -g @suspend_key 'F11' + ''; + } + { + plugin = tmuxPlugins.mode-indicator; + } + ]; - set-option -g default-shell /bin/zsh + extraConfig = '' + # unbind every single normal keybinding + unbind-key -a - set-window-option -g mode-keys vi + set -g set-titles on + set -s escape-time 0 - # clipboard stuff - bind -T copy-mode-vi v send-keys -X begin-selection - bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel - bind v copy-mode - bind p paste-buffer -p - set -s set-clipboard on + set-option -g default-shell /bin/zsh - # get back normal terminal emulator bindings - bind-key -n S-PPage copy-mode -u - bind-key -T copy-mode -n S-NPage send-keys -X page-down + set-window-option -g mode-keys vi - # don't scroll to end when copying with mouse - bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe - bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe - bind-key -T copy-mode DoubleClick1Pane select-pane \; send-keys -X select-word \; run-shell -d 0.3 \; send-keys -X copy-pipe - bind-key -T copy-mode TripleClick1Pane select-pane \; send-keys -X select-line \; run-shell -d 0.3 \; send-keys -X copy-pipe - bind-key -T copy-mode-vi DoubleClick1Pane select-pane \; send-keys -X select-word \; run-shell -d 0.3 \; send-keys -X copy-pipe - bind-key -T copy-mode-vi TripleClick1Pane select-pane \; send-keys -X select-line \; run-shell -d 0.3 \; send-keys -X copy-pipe + # clipboard stuff + bind -T copy-mode-vi v send-keys -X begin-selection + bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel + bind v copy-mode + bind p paste-buffer -p + set -s set-clipboard on - # window control - bind t new-window -c "#{pane_current_path}" - bind-key Tab next-window - bind-key BTab previous-window - set -g automatic-rename-format "#{?#{==:#{pane_current_path},$HOME},~,#{b:pane_current_path}} (#{pane_current_command})" - set -g renumber-windows on - bind-key Q confirm-before -p "kill-window #W? (y/n)" kill-window - bind A last-window + # get back normal terminal emulator bindings + bind-key -n S-PPage copy-mode -u + bind-key -T copy-mode -n S-NPage send-keys -X page-down - bind-key 1 select-window -t :0 - bind-key 2 select-window -t :1 - bind-key 3 select-window -t :2 - bind-key 4 select-window -t :3 - bind-key 5 select-window -t :4 - bind-key 6 select-window -t :5 - bind-key 7 select-window -t :6 - bind-key 8 select-window -t :7 - bind-key 9 select-window -t :8 - bind-key 0 select-window -t :9 + # don't scroll to end when copying with mouse + bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe + bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe + bind-key -T copy-mode DoubleClick1Pane select-pane \; send-keys -X select-word \; run-shell -d 0.3 \; send-keys -X copy-pipe + bind-key -T copy-mode TripleClick1Pane select-pane \; send-keys -X select-line \; run-shell -d 0.3 \; send-keys -X copy-pipe + bind-key -T copy-mode-vi DoubleClick1Pane select-pane \; send-keys -X select-word \; run-shell -d 0.3 \; send-keys -X copy-pipe + bind-key -T copy-mode-vi TripleClick1Pane select-pane \; send-keys -X select-line \; run-shell -d 0.3 \; send-keys -X copy-pipe - # pane control - bind h select-pane -L - bind j select-pane -S - bind k select-pane -U - bind l select-pane -R - bind L split-window -h -c "#{pane_current_path}" - bind J split-window -v -c "#{pane_current_path}" - bind H split-window -h -b -c "#{pane_current_path}" - bind K split-window -v -b -c "#{pane_current_path}" - bind x swap-pane -D - bind -r a select-pane -l - bind-key q confirm-before -p "kill-pane #P? (y/n)" kill-pane + # window control + bind t new-window -c "#{pane_current_path}" + bind-key Tab next-window + bind-key BTab previous-window + set -g automatic-rename-format "#{?#{==:#{pane_current_path},$HOME},~,#{b:pane_current_path}} (#{pane_current_command})" + set -g renumber-windows on + bind-key Q confirm-before -p "kill-window #W? (y/n)" kill-window + bind A last-window - bind-key o choose-tree -wZ - bind-key O choose-tree -sZ + bind-key 1 select-window -t :0 + bind-key 2 select-window -t :1 + bind-key 3 select-window -t :2 + bind-key 4 select-window -t :3 + bind-key 5 select-window -t :4 + bind-key 6 select-window -t :5 + bind-key 7 select-window -t :6 + bind-key 8 select-window -t :7 + bind-key 9 select-window -t :8 + bind-key 0 select-window -t :9 - # get back command mode and some other basics... - bind : command-prompt - bind r source-file ~/.config/tmux/tmux.conf \; display "config reloaded" - bind-key ? list-keys + # pane control + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + bind L split-window -h -c "#{pane_current_path}" + bind J split-window -v -c "#{pane_current_path}" + bind H split-window -h -b -c "#{pane_current_path}" + bind K split-window -v -b -c "#{pane_current_path}" + bind x swap-pane -D + bind -r a select-pane -l + bind-key q confirm-before -p "kill-pane #P? (y/n)" kill-pane - # Scroll oin man etc - tmux_commands_with_legacy_scroll="nano less more man git" + bind-key o choose-tree -wZ + bind-key O choose-tree -sZ - bind-key -T root WheelUpPane \ - if-shell -Ft= '#{?mouse_any_flag,1,#{pane_in_mode}}' \ - 'send -Mt=' \ - 'if-shell -t= "#{?alternate_on,true,false} || echo \"#{tmux_commands_with_legacy_scroll}\" | grep -q \"#{pane_current_command}\"" \ - "send -t= Up" "copy-mode -et="' + # get back command mode and some other basics... + bind : command-prompt + bind r source-file ~/.config/tmux/tmux.conf \; display "config reloaded" + bind-key ? list-keys - bind-key -T root WheelDownPane \ - if-shell -Ft = '#{?pane_in_mode,1,#{mouse_any_flag}}' \ - 'send -Mt=' \ - 'if-shell -t= "#{?alternate_on,true,false} || echo \"#{tmux_commands_with_legacy_scroll}\" | grep -q \"#{pane_current_command}\"" \ - "send -t= Down" "send -Mt="' + # Scroll oin man etc + tmux_commands_with_legacy_scroll="nano less more man git" - # bind -n DoubleClick1Pane run-shell "${pkgs.xdragon}/bin/dragon -x '#{pane_current_path}/#{mouse_word}'" - ''; - }; + bind-key -T root WheelUpPane \ + if-shell -Ft= '#{?mouse_any_flag,1,#{pane_in_mode}}' \ + 'send -Mt=' \ + 'if-shell -t= "#{?alternate_on,true,false} || echo \"#{tmux_commands_with_legacy_scroll}\" | grep -q \"#{pane_current_command}\"" \ + "send -t= Up" "copy-mode -et="' + + bind-key -T root WheelDownPane \ + if-shell -Ft = '#{?pane_in_mode,1,#{mouse_any_flag}}' \ + 'send -Mt=' \ + 'if-shell -t= "#{?alternate_on,true,false} || echo \"#{tmux_commands_with_legacy_scroll}\" | grep -q \"#{pane_current_command}\"" \ + "send -t= Down" "send -Mt="' + + # bind -n DoubleClick1Pane run-shell "${pkgs.xdragon}/bin/dragon -x '#{pane_current_path}/#{mouse_word}'" + ''; + }; }