CR: Tmuxinator Nvim Config Migration to domus-nvim

Change Summary

Change ID

CR-2026-04-01-tmuxinator-nvim-migration

Type

Configuration / Technical Debt

Priority

P3 - Standard

Status

Implemented

Requested

2026-04-01

Owner

Evan Rosado

Risk Level

Low

Rollback Time

< 2 minutes (git checkout)

Systems Affected

tmuxinator (~/.config/tmuxinator)

Background

The Neovim configuration was migrated from instrumentum-nvim (symlinked at ~/.config/nvim) to domus-nvim (symlinked at ~/.config/nvim-domus), launched via NVIM_APPNAME=nvim-domus nvim (alias v).

Three tmuxinator session files still referenced the old paths and old plugin repos that no longer exist:

  • cfg-nvim-lsp.yml — rooted at ~/.config/nvim (old instrumentum-nvim)

  • train-nvim.yml — rooted at ~/.config/nvim with ~/.local/share/nvim/lazy plugin path

  • test-nvim-plugins.yml — referenced modulus-nvim, modulus-fidus-nvim, nvim-core (all deleted)

Additionally, cfg-dotfiles.yml displayed ~/.config/nvim in its overview echo.

Current State vs Target State

Component Current (Before) Target (After)

cfg-nvim-lsp.yml root

~/.config/nvim (instrumentum-nvim)

~/atelier/_projects/personal/domus-nvim

train-nvim.yml root

~/.config/nvim

~/atelier/_projects/personal/domus-nvim

train-nvim.yml plugin path

~/.local/share/nvim/lazy

~/.local/share/nvim-domus/lazy

test-nvim-plugins.yml modulus window

modulus-nvim (does not exist)

domus-nvim

test-nvim-plugins.yml docs window

~/atelier/_bibliotheca/Principia/02_Assets/ARS-DEVTOOLS-NEOVIM

~/atelier/_projects/personal/domus-nvim/docs

All nvim pane commands

nvim (loads instrumentum-nvim)

NVIM_APPNAME=nvim-domus nvim (loads domus-nvim)

cfg-nvim-lsp.yml plugin path

lua/plugins/

lua/domus/plugins (domus namespace)

cfg-dotfiles.yml overview

~/.config/nvim - Neovim

~/.config/nvim-domus - Neovim (domus-nvim)

Scope

In Scope

  • Update root paths in 3 nvim-focused tmuxinator configs

  • Replace all bare nvim commands with NVIM_APPNAME=nvim-domus nvim

  • Remove references to deleted repos (modulus-nvim, modulus-fidus-nvim, nvim-core)

  • Update lua/plugins/ to lua/domus/plugins (new namespace)

  • Update lazy plugin data path from nvim to nvim-domus

  • Fix cosmetic reference in cfg-dotfiles.yml

  • Add config window to cfg-nvim-lsp.yml for lua/domus/config

Out of Scope

  • Other tmuxinator files that use nvim as an editor command (these open nvim in project dirs, not edit nvim config)

  • Removing dead symlinks at ~/.config/nvim-core, ~/.config/nvim-fidus, ~/.config/nvim-modulus

  • Changing ~/.config/nvim symlink from instrumentum-nvim to domus-nvim

Dead References Found

Reference Location Status

modulus-nvim

test-nvim-plugins.yml:37

Directory does not exist

modulus-fidus-nvim

test-nvim-plugins.yml:19-20

Directory does not exist

nvim-core

test-nvim-plugins.yml:22

Directory does not exist

~/.config/nvim-modulus

Dead symlink

Target missing

~/.config/nvim-fidus

Dead symlink

Target missing

~/.config/nvim-core

Dead symlink

Target missing

~/atelier/_bibliotheca/Principia/02_Assets/ARS-DEVTOOLS-NEOVIM

test-nvim-plugins.yml:73

Legacy Principia path

Implementation Plan

Files Changed

File Changes

cfg-nvim-lsp.yml

Root → domus-nvim, all pane commands → NVIM_APPNAME=nvim-domus nvim, plugin path → lua/domus/plugins, added config window

train-nvim.yml

Root → domus-nvim, all ~/.config/nvim refs → domus-nvim path, lazy path → nvim-domus, all pane commands → NVIM_APPNAME=nvim-domus nvim

test-nvim-plugins.yml

Removed modulus/fidus/nvim-core refs, :modulus window → :domus window, docs → domus-nvim/docs, all pane commands → NVIM_APPNAME=nvim-domus nvim

cfg-dotfiles.yml

Overview echo: ~/.config/nvim~/.config/nvim-domus

Post-Change Verification

# Validate YAML syntax (yq requires jq on PATH)
for f in cfg-nvim-lsp train-nvim test-nvim-plugins; do
  yq '.' ~/.config/tmuxinator/${f}.yml > /dev/null 2>&1 && echo "${f}: OK" || echo "${f}: FAIL"
done
# Verify no stale ~/.config/nvim references (expect: no output)
grep -n 'root:.*~/.config/nvim[^-]' ~/.config/tmuxinator/{cfg-nvim-lsp,train-nvim,test-nvim-plugins}.yml
# Verify no dead repo references (expect: no output)
grep -rn 'modulus-nvim\|modulus-fidus\|nvim-core' ~/.config/tmuxinator/{cfg-nvim-lsp,train-nvim,test-nvim-plugins}.yml
# Verify dead symlinks before removal
file ~/.config/nvim-core ~/.config/nvim-fidus ~/.config/nvim-modulus
# Remove dead symlinks (run after confirming broken above)
rm ~/.config/nvim-core ~/.config/nvim-fidus ~/.config/nvim-modulus
# Functional test - start each session
tmuxinator start CFG-NVIM-LSP
tmuxinator start TRAIN-NVIM
tmuxinator start TEST-NVIM-PLUGINS

Rollback Procedure

Trigger Conditions

Rollback if:

  • Tmuxinator sessions fail to start

  • Nvim opens with wrong config (not domus-nvim)

  • YAML parse errors

Rollback Steps

These files are not git-tracked in a single repo. Revert by restoring from the conversation diff or re-editing manually.

Alternatively, the old content can be restored by changing:

  • Root paths back to ~/.config/nvim

  • NVIM_APPNAME=nvim-domus nvim back to nvim

  • ~/.local/share/nvim-domus/lazy back to ~/.local/share/nvim/lazy

Risk Assessment

Risk Likelihood Impact Mitigation

YAML syntax error prevents session start

Low

Low

Validate with yq before use

NVIM_APPNAME not recognized in pane

Low

Low

Alias v works; long-form env var is equivalent

instrumentum-nvim still needed

Low

Low

~/.config/nvim symlink unchanged, nvim still launches it

Not in scope for this CR:

Item Description

Remove dead symlinks

rm ~/.config/nvim-core ~/.config/nvim-fidus ~/.config/nvim-modulus

Update ~/.config/nvim symlink

Point to domus-nvim instead of instrumentum-nvim (if instrumentum-nvim is fully deprecated)

Audit other tmuxinator files

Some files use bare nvim as editor — acceptable if opening project files, not editing nvim config

Changelog

Date Author Change

2026-04-01

Evan Rosado

CR created and implemented — migrated 3 tmuxinator configs from old nvim paths to domus-nvim