ShellPAK allows for the automatic installation and configuration of my personal GNU Bash shell environment as well as the configuration of the following programs:
This code is specific to my own needs and is here in the hopes it will be useful as a reference.
- GNU Bash version 3.2 or greater
- GNU Emacs 24.1 or greater (Emacs 24.4 or greater preferred)
- GNU Make
The following operating systems are known to be supported:
- Mac OS X 10.13 (Darwin)
- NetBSD 6.1.x
- OpenBSD 5.8
- CentOS 6.5
- Debian 9 (Stretch) and derivatives
- SunOS solaris 5.10
- AIX 1 7
In addition, ShellPAK has been known to run on OpenSUSE, SuSE Enterprise Linux, Ubuntu, FreeBSD, and Cygwin.
# Clone the repository $ fossil clone https://chiselapp.com/user/cfuhrman/repository/shpak ~/shellpak.fossil # Check out the repository $ mkdir shellpak $ cd shellpak $ fossil open ~/shellpak.fossil
Further information on Fossil can be found at this Quick Start Guide.
ShellPAK is also available for checkout from the following locations:
Be aware that portions of the ShellPAK infrastructure relies on Fossil. Conversion to support the conventions of an alternative revision control system is an exercise left to the user.
# Install ShellPAK $ ./setup.sh
Note that during installation, ShellPAK will store dot-files (e.g.,
bash_profile, etc) in
~/Backup/shell (or whatever is
specified by the
-b flag). These files will be restored during
un-installation (via the
# Perform a dry-run $ ./setup.sh -r # Install into another directory $ ./setup.sh -d /path/to/directory # Do not automatically link files during installation $ ./setup.sh -n # Set up go programming environment $ ./setup.sh -g # Set up python development environment $ ./setup.sh -p # Set up python3 development environment $ PYTHON_VERSION=3 PIP_BIN=pip3 setup.sh -p # Remove ShellPAK $ ./setup.sh -u # Remove ShellPAK & go environment $ ./setup.sh -u -g # Change backup directory $ ./setup.sh -b /path/to/directory # List runtime options $ ./setup.sh -h
Previous versions of
setup.sh provided options for installation
of Emacs packages. This is no longer required as Emacs will now
automatically install necessary packages on startup.
Please report any bugs or feature requests by filing a ticket via the ShellPAK repository website.
Christopher M. Fuhrman email@example.com
Copyright (c) 2000-2018 Christopher M. Fuhrman All rights reserved.
All files contained herein can be redistributed and/or modified under the terms of the Simplified BSD License (also known as the "2-Clause License" or "FreeBSD License".) unless otherwise noted.