All Projects → deluan → Zsh In Docker

deluan / Zsh In Docker

Licence: mit
Install Zsh, Oh-My-Zsh and plugins inside a Docker container with one line!

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Zsh In Docker

Dotfiles
What tools and plugins I use for web development?
Stars: ✭ 73 (-56.8%)
Mutual labels:  zsh, oh-my-zsh, vscode
Zsh to fish
How to make zsh like fish?
Stars: ✭ 93 (-44.97%)
Mutual labels:  zsh, oh-my-zsh
Castle Winbuntu
Homesick Castle for use on WSL.
Stars: ✭ 87 (-48.52%)
Mutual labels:  zsh, oh-my-zsh
Dotfiles
Awesome personal dotfiles
Stars: ✭ 99 (-41.42%)
Mutual labels:  zsh, vscode
Zsh Proxy
🔩 An oh-my-zsh plugin to configure proxy
Stars: ✭ 162 (-4.14%)
Mutual labels:  zsh, oh-my-zsh
Lambda Gitster
oh-my-zsh theme
Stars: ✭ 74 (-56.21%)
Mutual labels:  zsh, oh-my-zsh
Dotfiles
💻 Use command line interface manager for macOS configuration.
Stars: ✭ 97 (-42.6%)
Mutual labels:  zsh, vscode
Honukai Iterm Zsh
Honukai theme and colors for Oh My ZSH and iTerm
Stars: ✭ 1,034 (+511.83%)
Mutual labels:  zsh, oh-my-zsh
Ubuntu On Steroids
Developer setup & configuration guide for Ubuntu.
Stars: ✭ 111 (-34.32%)
Mutual labels:  zsh, vscode
History Sync
An oh-my-zsh plugin for GPG encrypted internet synchronised Zsh history, with Git.
Stars: ✭ 135 (-20.12%)
Mutual labels:  zsh, oh-my-zsh
Dotfiles Win
🙈 oh-my-zsh on bash on windows configuration files
Stars: ✭ 167 (-1.18%)
Mutual labels:  zsh, oh-my-zsh
Dotfiles
Get started with your own dotfiles.
Stars: ✭ 1,094 (+547.34%)
Mutual labels:  zsh, oh-my-zsh
Sheldon
A fast, configurable, shell plugin manager
Stars: ✭ 144 (-14.79%)
Mutual labels:  zsh, oh-my-zsh
Pi
A minimalist zsh theme with git status decorations
Stars: ✭ 76 (-55.03%)
Mutual labels:  zsh, oh-my-zsh
Zsh Symfony Completion
(Oh My) ZSH symfony/console Completion Plugin
Stars: ✭ 50 (-70.41%)
Mutual labels:  zsh, oh-my-zsh
Dotfiles
Alacritty + Tmux + Oh My Zsh + Neovim = ❤️
Stars: ✭ 95 (-43.79%)
Mutual labels:  zsh, oh-my-zsh
Iterm Tab Color Oh My Zsh
Oh My Zsh plugin for setting iTerm2's custom tab colors
Stars: ✭ 21 (-87.57%)
Mutual labels:  zsh, oh-my-zsh
Kube Aliases
Kubernetes Aliases and Bash Functions
Stars: ✭ 40 (-76.33%)
Mutual labels:  zsh, oh-my-zsh
Zsh Nvm
Zsh plugin for installing, updating and loading nvm
Stars: ✭ 1,670 (+888.17%)
Mutual labels:  zsh, oh-my-zsh
Purify
🌈 Clean & vibrant color schemes for Vim, Terminals...
Stars: ✭ 142 (-15.98%)
Mutual labels:  zsh, oh-my-zsh

Oh My Zsh Installer for Docker

Last Release Build Downloads

This is a script to automate Oh My Zsh installation in development containers. Works with any images based on Alpine, Ubuntu, Debian, CentOS or Amazon Linux.

The original goal was to simplify setting up zsh and Oh My Zsh in a Docker image for use with VSCode's Remote Containers extension, but it can be used whenever you need a simple way to install Oh My Zsh and its plugins in a Docker image

Usage

One line installation: add the following line in your Dockerfile:

# Default powerline10k theme, no plugins installed
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.1/zsh-in-docker.sh)"

Optional arguments:

  • -t <theme> - Selects the theme to be used. Options are available here. By default the script installs and uses Powerlevel10k, one of the "fastest and most awesome" themes for zsh. This is my recommended theme. If <theme> is a url, the script will try to install the theme using git clone.

  • -p <plugin> - Specifies a plugin to be configured in the generated .zshrc. List of bundled Oh My Zsh plugins are available here. If <plugin> is a url, the script will try to install the plugin using git clone.

  • -a <line> - You can add extra lines at the end of the generated .zshrc (but before loading oh-my-zsh) by passing one -a argument for each line you want to add. This is useful to customize plugins or themes. For example, if you want to enable case sensitive completion:

    RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.1/zsh-in-docker.sh)" -- \
    -a 'CASE_SENSITIVE="true"'
    

Examples:

# Uses "robbyrussell" theme (original Oh My Zsh theme), with no plugins
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.1/zsh-in-docker.sh)" -- \
    -t robbyrussell
# Uses "git", "ssh-agent" and "history-substring-search" bundled plugins
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.1/zsh-in-docker.sh)" -- \
    -p git -p ssh-agent -p 'history-substring-search' \
    -a 'bindkey "\$terminfo[kcuu1]" history-substring-search-up' \
    -a 'bindkey "\$terminfo[kcud1]" history-substring-search-down'

# Uses "Spaceship" theme with some customization. Uses some bundled plugins and installs some more from github
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.1/zsh-in-docker.sh)" -- \
    -t https://github.com/denysdovhan/spaceship-prompt \
    -a 'SPACESHIP_PROMPT_ADD_NEWLINE="false"' \
    -a 'SPACESHIP_PROMPT_SEPARATE_LINE="false"' \
    -p git \
    -p ssh-agent \
    -p https://github.com/zsh-users/zsh-autosuggestions \
    -p https://github.com/zsh-users/zsh-completions

Notes

  • The examples above use wget, but if you prefer curl, just replace wget -O- with curl
  • This scripts requires git and curl to work properly. If your Dockerfile uses root as the main user, it should be fine, as the script will install them automatically. If you are using a non-root user, make sure to install the sudo package OR to install git and curl packages before calling this script
  • By default this script will install the powerlevel10k theme, as it is one of the fastest and most customizable themes available for zsh. If you want the default Oh My Zsh theme, use the option -t robbyrussell

Liked it?

If you like this script, feel free to thank me with a coffee (or a beer 😉):

ko-fi

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].