web-dev-qa-db-ja.com

bootstrapプロセスの一部として、VagrantBoxにOhMyZshをインストールします

Oh My Zsh をVagrant bootstrapプロセスに追加したいのですが、直接インストールが機能しません。

カール経由:

curl -L http://install.ohmyz.sh | sh

wget経由:

wget --no-check-certificate http://install.ohmyz.sh -O - | sh
26
Alan Quigley

解決策を見つけました:

# Added zsh Shell.
Sudo apt-get install zsh
wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh 
Sudo chsh -s /bin/zsh vagrant
zsh

素敵な追加として、あなたの端末が異なるボックスであまり似ていないように

# Change the oh my zsh default theme.
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="3den"/g' ~/.zshrc
29
Alan Quigley

これは、Ubuntu 14.04.2LTSボックスにOhMy Zshをインストールし、標準のVagrantfileユーザーのデフォルトシェルとして設定する完全なvagrantです。

これはVagrant1.7.2で動作します。 (マイレージはバージョンによって異なる場合があります。)自動スクリプトを使用する代わりに、Readmeの 手動インストール セクションの指示を使用します。

# -*- mode: Ruby -*-
# vi: set ft=Ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  # Pick a box to use:
  config.vm.box = "ubuntu/trusty64"

  ############################################################
  # Oh My ZSH Install section

  # Install git and zsh prerequisites 
  config.vm.provision :Shell, inline: "apt-get -y install git"
  config.vm.provision :Shell, inline: "apt-get -y install zsh"

  # Clone Oh My Zsh from the git repo
  config.vm.provision :Shell, privileged: false,
    inline: "git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh"

  # Copy in the default .zshrc config file
  config.vm.provision :Shell, privileged: false,
    inline: "cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc"

  # Change the vagrant user's Shell to use zsh
  config.vm.provision :Shell, inline: "chsh -s /bin/zsh vagrant"

  ############################################################


end

ボーナスとして、次の方法で、ホストマシンの.zshrcファイルをvagrantボックスに1回コピーすることができます。

config.vm.provision "file", source: "~/.zshrc", destination: ".zshrc"

(ホストマシンとvagrant boxの設定が異なるため、最初は機能しないものを把握する必要がある場合があることに注意してください。)

20
Alan W. Smith