From e81b51649125c7595a751b3b5bc1a768d337e886 Mon Sep 17 00:00:00 2001 From: herbygitea Date: Mon, 13 Apr 2026 21:04:29 +0000 Subject: [PATCH] Upload files to "homelab/ Editor-Stack" --- homelab/ Editor-Stack/editor-stack-upgrade.md | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 homelab/ Editor-Stack/editor-stack-upgrade.md diff --git a/homelab/ Editor-Stack/editor-stack-upgrade.md b/homelab/ Editor-Stack/editor-stack-upgrade.md new file mode 100644 index 0000000..c533119 --- /dev/null +++ b/homelab/ Editor-Stack/editor-stack-upgrade.md @@ -0,0 +1,163 @@ +--- +project: editor-stack-upgrade +type: project-plan +status: active +tags: + - editors + - neovim + - zed + - zellij + - lazyvim + - homelab + - workflow +created: 2026-04-08 +updated: 2026-04-08 +path: PBS-Planning/Homelab/Editor-Stack +--- + +# Editor Stack Upgrade + +## Context + +VS Code Remote-SSH crashed production server after 6 instances were +accidentally left open (each spawns its own Node server process on the +remote). Replacing with a two-track editor workflow: a lightweight GUI for +heavier refactors, and a terminal-native stack for quick edits and street +cred. + +## Goals + +- [ ] Eliminate VS Code Remote-SSH resource bloat on production server +- [ ] Establish Zed as primary GUI editor with remote SSH workflow +- [ ] Build terminal-native editing muscle memory with Neovim + LazyVim +- [ ] Replace tmux workflow with Zellij (modern, discoverable keybinds) +- [ ] Keep production server stable during rollout (test everything on +tower first) + +## Track A: Zed (GUI path) + +### Phase A1 — Install on tower + +- [ ] Install Zed on Manjaro tower + ``` + curl -f https://zed.dev/install.sh | sh + ``` +- [ ] Verify binary at `~/.local/bin/zed` +- [ ] Launch and complete first-run setup +- [ ] Sign in (optional, for settings sync) + +### Phase A2 — Remote SSH setup + +- [ ] Confirm production server is in `~/.ssh/config` with alias +- [ ] Load SSH key into `ssh-agent` if passphrase-protected + ``` + eval $(ssh-agent) + ssh-add ~/.ssh/id_ed25519 + ``` +- [ ] In Zed: `ctrl+shift+p` → "remote: connect to host" → add prod server +- [ ] Verify remote agent installs to `~/.local/bin` on production server +- [ ] Open a test project over SSH and confirm LSP works + +### Phase A3 — Validate resource footprint + +- [ ] Check process count on prod server after Zed connect + ``` + ps aux | grep zed + ``` +- [ ] Compare RAM usage vs old VS Code Remote-SSH baseline +- [ ] Document findings in session notes + +## Track B: Terminal path (Zellij + Neovim + LazyVim) + +### Phase B1 — Zellij on tower + +- [ ] Install Zellij + ``` + cargo install --locked zellij + ``` + or via pacman/AUR if preferred +- [ ] Launch and work through built-in tutorial +- [ ] Learn core keybinds (shown at bottom of screen — that's the whole +point) +- [ ] Create first layout file for homelab workflow + ``` + ~/.config/zellij/layouts/homelab.kdl + ``` + +### Phase B2 — Neovim + LazyVim on tower + +- [ ] Install Neovim (need ≥0.9.0 for LazyVim) + ``` + sudo pacman -S neovim + ``` +- [ ] Install prerequisites: git, make, unzip, gcc, ripgrep, fd, a Nerd Font +- [ ] Back up any existing Neovim config + ``` + mv ~/.config/nvim ~/.config/nvim.bak + mv ~/.local/share/nvim ~/.local/share/nvim.bak + ``` +- [ ] Clone LazyVim starter + ``` + git clone https://github.com/LazyVim/starter ~/.config/nvim + rm -rf ~/.config/nvim/.git + ``` +- [ ] First launch: let Lazy.nvim install all plugins +- [ ] Run `:LazyHealth` and resolve any warnings +- [ ] Run `:Mason` and install LSPs for Python, Go, Bash, Lua + +### Phase B3 — Learn the basics (week 1) + +- [ ] Complete `vimtutor` (comes with Neovim, ~30 min) +- [ ] Daily driver for config edits only — don't force it on real work yet +- [ ] Learn: motions (h/j/k/l, w/b/e), modes (i/a/o, esc), save/quit (:w/:q) +- [ ] Learn LazyVim extras: `` leader menu, `ff` find files, +`sg` grep +- [ ] Learn file tree: `e` + +### Phase B4 — Zellij + Neovim integration + +- [ ] Create Zellij layout with Neovim + terminal panes +- [ ] Test detach/reattach workflow + ``` + zellij attach homelab + ``` +- [ ] Configure Neovim to respect Zellij pane navigation (if desired) + +### Phase B5 — Roll out to production server + +- [ ] Install Zellij on prod server +- [ ] Install Neovim + LazyVim on prod server +- [ ] Sync LazyVim config via git (store in `trucktrav/dotfiles` or similar) +- [ ] Create persistent Zellij session for prod work + ``` + zellij attach -c prod-work + ``` +- [ ] Document SSH + zellij attach workflow + +## Decision points + +- [ ] Dotfiles repo strategy — new repo or add to existing? +- [ ] LazyVim customization — keep starter minimal or add personal tweaks +early? +- [ ] Zed vs Neovim split — when to reach for which? (document after 2 +weeks of use) + +## Success criteria + +- [ ] Zero VS Code processes on production server +- [ ] Can SSH into prod, `zellij attach`, and resume work from any device +- [ ] Comfortable enough in Neovim to edit configs without reaching for Zed +- [ ] Production server RAM usage during editing sessions documented and +reduced + +## Notes & learnings + +_(populate as you go)_ + +## Next session + +Start with Phase A1 (Zed install on tower) — fastest win, immediately +usable, low risk. + + +...sent from Jenny & Travis \ No newline at end of file