diff --git a/home-manager/packages/default.nix b/home-manager/packages/default.nix index 3e3c3152e..d3ac4d592 100644 --- a/home-manager/packages/default.nix +++ b/home-manager/packages/default.nix @@ -3,7 +3,7 @@ inputs, }: let - inherit (inputs.host) isDesktop; + inherit (inputs.host) isDesktop isDev; in with pkgs; [ @@ -93,6 +93,13 @@ with pkgs; zellij zoxide ] +++ lib.optionals isDev [ + gopls + lua-language-server + nil + nodePackages.typescript-language-server + pyright +] ++ lib.optionals stdenv.isLinux [ atop below diff --git a/home-manager/programs/tmux/tmux.conf b/home-manager/programs/tmux/tmux.conf index 61e37e953..723e946e1 100644 --- a/home-manager/programs/tmux/tmux.conf +++ b/home-manager/programs/tmux/tmux.conf @@ -89,8 +89,9 @@ bind-key "_" split-window -fv -c "#{pane_current_path}" bind-key "%" split-window -h -c "#{pane_current_path}" bind-key '"' split-window -v -c "#{pane_current_path}" -# Capture full pane history to file -bind P capture-pane -S - \; save-buffer ~/tmux-history.txt \; delete-buffer \; display-message "Pane history saved to ~/tmux-history.txt" +# Yank pane history to clipboard +bind y run-shell 'tmux capture-pane -pS - | pbcopy && tmux display-message "Full pane history copied to clipboard"' +bind v run-shell 'tmux capture-pane -p | pbcopy && tmux display-message "Visible pane copied to clipboard"' # Pane number indicator set -g display-panes-colour colour233 diff --git a/lib/host.nix b/lib/host.nix index 8adbf2981..e5112cfb5 100644 --- a/lib/host.nix +++ b/lib/host.nix @@ -11,6 +11,9 @@ # Desktop machines with GUI - default false, override in named-hosts isDesktop = false; + # Install language server packages + isDev = true; + # Get the node name for OpenClaw remote mode # Falls back to "unknown" if no hostname is detected nodeName =