My question is what would be a good way to run two admin accounts for developing in regards to running Homebrew
, Zsh
and Oh My Zsh
and configuring the .zshrc
file?
My reasoning for this is that I recently started a new job and would like to use my Mac with two accounts, both of which will be admins and both of which I will require devtools so as to keep my work life/dev and personal life/dev cleanly separated. I just erased my hard drive and cleanly installed OS X 10.12.3 and created two Admin accounts.
I've had a shot at setting it up however keep getting permission errors whenever I switch accounts and run terminal, usually specific to zsh completions.
My steps:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
.brew install zsh
and change to it chsh -s /bin/zsh
.sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
.sudo chown -R $(whoami):admin /usr/local
.Then I've tried a whole mess of things which I'll refrain from adding as I believe they may only lead others down a dark path.
Although this step is safe to run as root, I still recommend running the installation as non-root user to prevent catastrophic problems with root switching shell while the shell isn't working. superuser shell should never be changed.
Here's the proper way to install oh-my-zsh
for multiple users.
Step 1: Ensure umask is not stricter than 022. If not set it to 022.
$ umask 022
Step 2: set and export ZSH with the destination path where the shared oh-my-zsh will be installed.
export ZSH=/usr/local/.zsh/oh-my-zsh
Step 3: Create the parent directory and make it owned by the user installing the scripts.
$ sudo mkdir /usr/local/.zsh
$ sudo chown ${USER} /usr/local/.zsh
Step 4: Run the installer.
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Step 5: Change ownership of the installation path back to root.
$ sudo chown -R root /usr/local/.zsh
Step 6: Update location of ZSH in ${ZSH}/templates/zshrc.zsh-template
$ sudo sed -i 's|export ZSH=.*|export ZSH='${ZSH}'|' ${ZSH}/templates/zshrc.zsh-template
(Optional) Step 7: Disable auto update. This is recommended as the installation is now owned by root.
$ sudo sed -i 's/# DISABLE_AUTO_UPDATE="true"/DISABLE_AUTO_UPDATE="true"/' ${ZSH}/templates/zshrc.zsh-template
From here on, each user can copy ${ZSH}/templates/zshrc.zsh-template
as ~/.zshrc
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With