Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 5bd2a6dd82b3d8b8fef7193a3ed09b2f606000df
Page Name:ShellPAK
Date: 2018-08-06 22:07:28
Original User: cfuhrman
Mimetype:text/x-markdown
Parent: 22f6463bd37a7e08148916f16b4180655a0d7912 (diff)
Next d1c0fa28a76870e33f7f7fb56889793bed57241c
Content

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.

Requirements

  • GNU Bash version 3.2 or greater
  • GNU Emacs 24.1 or greater (Emacs 24.4 or greater preferred)
  • GNU Make
  • rsync

Supported Platforms

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.

Obtaining ShellPAK

As of <2014-07-30 Wed>, ShellPAK is managed by the Fossil distributed version control system. To check out a repository:

# 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.

Alternate Repositories

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.

Installation

# Install ShellPAK
$ ./setup.sh

Note that during installation, ShellPAK will store dot-files (e.g., bashrc, bash_profile, etc) in ~/Backup/shell (or whatever is specified by the -b flag). These files will be restored during un-installation (via the -u flag)

Other setup options

# 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.

Bugs

Please report any bugs or feature requests by filing a ticket via the ShellPAK repository website.

Author

Christopher M. Fuhrman cfuhrman@pobox.com

Copyright

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.