macosshellzshtmuxinator

Tmuxinator unable to parse config file


I removed Python from my system with "brew uninstall python", and suddenly tmuxinator stopped working. I have no idea if the issue is related to my removal of Python or not.

When I enter ~/.tmuxinator and run tmuxinator start myapp, the only output I get is Failed to parse config file. Please check your formatting.

Here's my .zshrc (which has the line at the end to source tmuxinator.zsh from ~/.bin/tmuxinator.zsh):

export EDITOR="vim"

export PS1="%/$ "

# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh

# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="sunrise"

# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"

# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(osx git git-flow fabric groovy grails python)

# Aliases
alias github='cd ~/Desktop/Github'
alias l='ls'

# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
bindkey -e
# End of lines configured by zsh-newuser-install

alias rvm=$HOME/.rvm/bin/rvm
source $ZSH/oh-my-zsh.sh

# Add RVM to PATH for scripting
export PATH="$PATH:$HOME/.rvm/bin"

# Tmuxinator Source
source ~/.bin/tmuxinator.zsh

Here's a screenshot of my issue: My issue

As I mentioned above, ~/.bin/tmuxinator.szh does not exist.

How can I make it so that I can start tmuxinator sessions with myapp?

EDIT:

I solved my question (noted below) by finding syntax errors in my myapp.yml file as listed below. I had switched between Sublime and Vim, with Sublime having tabs equalling four spaces, and Vim with tabs that only occupied two spaces, thus causing Tmuxinator to throw an error. The error occurred in the "Windows" section at the bottom.

~/.tmuxinator/myapp.yml

# ~/.tmuxinator/myapp.yml

name: myapp
root: ~/Desktop/myapp

# Optional tmux socket
# socket_name: foo

# Runs before everything. Use it to start daemons etc.
# pre: sudo /etc/rc.d/mysqld start

# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247

# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf

# Change the command to call tmux.  This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu

windows:
  - editor:
      layout: main-vertical
      panes:
        - vim
        - guard
  - zsh: 
  - vim: vim .
  - foreman: bundle exec foreman start
  - git: git pull
  - console: bundle exec rails console
  - server: bundle exec rails server
  - logs: tail -f log/development.log

Solution

  • It turns out that the "config file" that tmuxinator was trying to parse was actually myapp.yml in the ~/.tmuxinator directory.

    I simply had a few syntax errors at the bottom of the file (Question edited to show the original .yml file) that involved the lack of spaces, which caused the Tmuxinator parser to fail.