Skip to content

Migration issues #6

@brianarn

Description

@brianarn

I ran into a few issues doing a migration. I'm listing them all under their own headings. For each of the sections below, we need to analyze and resolve the errors.

Symlinking failures

Here's the failure, with an exit code of 1:

$ ./install.sh

=== Dotfiles install ===

=== Initializing submodules ===
Submodules initialized

=== Linking dotfiles ===
WARN: Skipping /Users/briansinclair/.bash_profile (exists and is not a symlink; use --force to override)
WARN: Skipping /Users/briansinclair/.bashrc (exists and is not a symlink; use --force to override)
WARN: Skipping /Users/briansinclair/.config/amp/settings.json (exists and is not a symlink; use --force to override)
mkdir: /Users/briansinclair/.config/direnv: No such file or directory

Here's doctor output for the symlink audit:

=== Symlink audit ===
  ✗ Not a symlink: ~/.bash_profile
  ✗ Not a symlink: ~/.bashrc
  ✗ Not a symlink: ~/.config/amp/settings.json
  ✗ Missing: ~/.config/direnv/direnvrc
  ✗ Not a symlink: ~/.config/git/ignore
  ✗ Missing: ~/.config/nvim/init.vim
  ✗ Wrong target: ~/.config/starship.toml → ../.dotfiles/stow/dot-config/starship.toml (expected /Users/briansinclair/.dotfiles/home/.config/starship.toml)
  ✗ Missing: ~/.gitignore_global
  ✗ Missing: ~/.gvimrc
  ✗ Missing: ~/.tmux-linux.conf
  ✗ Missing: ~/.tmux-osx.conf
  ✗ Missing: ~/.tmux.conf
  ✗ Missing: ~/.vim/after/syntax/html.vim
  ✗ Missing: ~/.vim/colors/molotov.vim
  ✗ Missing: ~/.vim/plug.vim
  ✗ Missing: ~/.vimrc
  ✗ Missing: ~/.vimrc_background
  ✗ Not a symlink: ~/.zshrc
  ✗ 12 missing, 6 incorrect out of 18 symlinks

I did a check under ~/.config to see what was up, and I got the following:

09:18:59 in ~/.config
➜ ls -l
total 0
drwxr-xr-x  18 briansinclair  staff   576B Feb 17 12:02 .
drwxr-x---+ 97 briansinclair  staff   3.0K Feb 19 09:19 ..
lrwxr-xr-x   1 briansinclair  staff    86B Jan 28 13:09 AGENTS.md -> /Users/briansinclair/Development/personal-briansinclair-agents-config/config/AGENTS.md
drwxr-xr-x   3 briansinclair  staff    96B Jan 29 16:01 amp
drwxr-xr-x   5 briansinclair  staff   160B Dec 17 16:45 coc
drwx------@  3 briansinclair  staff    96B Nov 14 10:06 configstore
lrwxr-xr-x   1 briansinclair  staff    35B Oct 27 09:49 direnv -> ../.dotfiles/stow/dot-config/direnv
drwxr-xr-x   3 briansinclair  staff    96B Feb 11 10:12 gdrive-skill
drwxr-x--x   4 briansinclair  staff   128B Dec 16 15:51 gh
drwxr-xr-x@  3 briansinclair  staff    96B Feb 19 09:18 ghostty
drwx------@  3 briansinclair  staff    96B Oct 30 10:54 git
drwxr-xr-x  11 briansinclair  staff   352B Jan  7 11:36 goose
drwxr-xr-x   4 briansinclair  staff   128B Dec 17 13:23 graphite
drwxr-xr-x   4 briansinclair  staff   128B Feb 19 09:14 iterm2
lrwxr-xr-x   1 briansinclair  staff    33B Oct 27 09:49 nvim -> ../.dotfiles/stow/dot-config/nvim
drwxr-xr-x@  3 briansinclair  staff    96B Feb 17 12:02 slack-skill
lrwxr-xr-x   1 briansinclair  staff    42B Oct 27 09:49 starship.toml -> ../.dotfiles/stow/dot-config/starship.toml
drwxr-xr-x   3 briansinclair  staff    96B Feb 11 10:12 uv

In this case, I had a few stow dot-config files that looks like didn't get a proper migration. I removed direnv, nvim, and starship.toml from this directory, and then the install worked okay.

Vim migration

It had a LOT of problems with migrating due to sockets, which were apparently not copied. Here's the output from the migrate script:

=== Migrating ~/.vim ===
Found 3 untracked item(s) in ~/.vim to preserve
Removing ~/.vim symlink (pointed to .dotfiles/stow/dot-vim)
Preserving untracked: ~/.vim/plugged
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/base16-vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-startify/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-json/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-airline-themes/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-stylus/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-surround/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-airline/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/scss-syntax.vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-endwise/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/typescript-vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/goyo.vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/editorconfig-vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/editorconfig-vim/.git/modules/plugin_tests/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/editorconfig-vim/.git/modules/core_tests/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-jsx-pretty/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-gitgutter/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/tabular/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-twig/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-mustache-handlebars/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/ale/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/fzf.vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-repeat/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-git/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-javascript/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-unimpaired/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/emmet-vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/emmet-vim/.git/modules/docs/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/tmux.vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-dispatch/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/php.vim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-fugitive/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-markdown/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-dirdiff/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-abolish/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/coc.nvim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/amp.nvim/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-pug/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/PHP-Indenting-for-VIm/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-vue/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-commentary/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-jsdoc/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/fzf/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/nerdtree/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/matchit/.git/fsmonitor--daemon.ipc is a socket (not copied).
cp: /Users/briansinclair/.dotfiles/stow/dot-vim/plugged/vim-textile/.git/fsmonitor--daemon.ipc is a socket (not copied).
Preserving untracked: ~/.vim/autoload
Preserving untracked: ~/.vim/tmp
~/.vim migration complete

The plugins all seem okay, so I think everything got copied over, and when I moved the stow folder, vim and neovim still work just fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions