Welcome to Veggieshell, the semi-portal shell environment that runs on most Unix-like servers. Designed to be installed into your home dir, it contains a comprehensive set of dot-files for quickly getting new machines running. Veggieshell supports remote software updates of the dot-files for bug fixes or feature enhancements. Veggieshell has evolved over many years, adding support for newer versions of common Unix utilities, while still maintaining compatibility with older machines.
Veggieshell is meant for the coder/admin to get up quickly, whether running on Irix, Apollo, or something more modern. It isn't meant to be L33T, just good enough. Veggieshell supports two methods of installation: linked with the repository (e.g., github) or copied & unlinked.
Via the linked method, git clone veggieshell
on a new
account/machine and git pull
updates for enhancements or bug
fixes. The system can be customized to a small degree without
editing any of the master files, so updates to veggieshell from any remote repository won't
wipe out any personalization.
Veggieshell is meant to run on many systems with different versions of bash, vim, etc. As such, checks are made before version specific configuration is run.
Veggieshell runs on OS X 10.4 - 10.10, most modern Linux distros (including Ubuntu, Kedi, & Redhat), and has some support for Cygwin. There is a bit of bit-rot in Cygwin, so patches are welcome. Veggieshell only supports makes customizations to the Bash shell as no one has contributed other shells. If a common tool used by you is does not have a basic configuration, plus contribute.
In this document, $HOME refers to your home dir and $VEGGIE_HOME is veggieshell installation dir, which should be $HOME/.veggieshell.
- Clone the veggieshell source tree from github, this can be done with
git clone https://github.com/veggiespam/veggieshell
. - Copy the veggieshell dir into your $HOME dir and rename it to be .veggieshell - you will still be able to perform git operations on the directory with the new dot-veggieshell name.
- The file $VEGGIE_HOME/FileList contains a list of dot files that will be created in your home dir. If your home dir currently has any of these files, a backup will be made before the installer replaces them with symlinks into $HOME/.veggieshell.
- Run the init script by typing
sh ./.veggieshell/SymLink.sh
. The installer script will change the working directory to your $HOME dir and then create symlinks to the files. - Now, log out and back in or open a new window or a new shell. You are now be using Veggieshell.
Rather than edit the dot-files directly, such as bashrc, add custom or machine specific settings to the $VEGGIE_HOME/personal/ folder. The "personal" dir pretty much mirrors the $VEGGIE_HOME directory tree, with each dot-file initializing, then reading your customized dot-file.
These files are run (if they exist) to override the $VEGGIE_HOME settings. This toolkit comes with sample-personal which you can copy and rename as $VEGGIE_HOME/personal as a starting point. Some configuration options include:
- $VEGGIE_HOME/personal/shells/hosts/$hostname-bashrc - yet more fine grained control over variable on a per hostname basis.
- $VEGGIE_HOME/personal/shells/completions/ * - this sets or overrides bash completions that you may wish to use.
- $VEGGIE_HOME/personal/shells/hosts/$hostname-alias - more completions for this specific host.
- $VEGGIE_HOME/personal/shells/aliases - this sets or overrides the aliases that you may wish to use.
- $VEGGIE_HOME/personal/editors/vimrc - this personal file is load after the $VEGGIE_HOME version of vimrc is run.
More customization information is shown in the documentation in the personal directory.
The older versions of Veggieshell are found on the private Subversion repository and GitHub hosts the latest software. At some point, v3.0 will be branched into stable and experimental trees - be sure to check out the stable ones for production systems.
- The semi-wonderful FAQ
- Random Future Ideas
- Legal License Docs
- The Run-Once folder is manually run
- Shell readme for aliases
- Veggieshell's bootup/login process
- Bash completions
- General utils readme
vim: ts=4 sw=4 et filetype=markdown spell