Artifact Content

Artifact da1199164b8e432405c5fe986097100595263ae5:

Wiki page [ShellPAK] by cfuhrman 2018-02-10 23:57:14.
D 2018-02-10T23:57:14.156
L ShellPAK
N text/x-markdown
P 6443783898736e9a26dc423875c54402f328e4d4
U cfuhrman
W 4332
# Description<a id="sec-1" name="sec-1"></a>

ShellPAK allows for the automatic installation and configuration of
my personal [GNU Bash]( shell environment as well as the configuration
of the following programs:

-   [Git](
-   [GNU Emacs](
-   [GNU Screen](
-   [GNU Indent](
-   [mg Text Editor](
-   [Perl::Tidy](
-   [tmux](

This code is specific to my own needs and is here in the hopes it
will be useful as a reference.

## Requirements<a id="sec-1-1" name="sec-1-1"></a>

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

## Supported Platforms<a id="sec-1-2" name="sec-1-2"></a>

The following operating systems are known to be supported:

-   Mac OS X 10.9 (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<a id="sec-2" name="sec-2"></a>

As of <span class="timestamp-wrapper"><span class="timestamp">&lt;2014-07-30 Wed&gt;</span></span>, [ShellPAK]( is managed by the [Fossil](
distributed version control system.  To check out a repository:

    # Clone the repository
    $ fossil clone ~/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

## Alternate Repositories<a id="sec-2-1" name="sec-2-1"></a>

[ShellPAK]( is also available for checkout from the following

-   **Git:** [GitHub](, [BitBucket](
-   **Fossil:** [FuhrWerks](
-   **Bazaar:** [Launchpad](

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<a id="sec-3" name="sec-3"></a>

    # Install ShellPAK
    $ ./

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<a id="sec-3-1" name="sec-3-1"></a>

    # Perform a dry-run
    $ ./ -r
    # Install into another directory
    $ ./ -d /path/to/directory
    # Do not automatically link files during installation
    $ ./ -n
    # Set up go programming environment
    $ ./ -g
    # Remove ShellPAK
    $ ./ -u
    # Remove ShellPAK & go environment
    $ ./ -u -g
    # Change backup directory
    $ ./ -b /path/to/directory
    # List runtime options
    $ ./ -h

Previous versions of `` provided options for installation
of Emacs packages.  This is no longer required as Emacs will now
automatically install necessary packages on startup.

# Bugs<a id="sec-4" name="sec-4"></a>

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

# Author<a id="sec-5" name="sec-5"></a>

Christopher M. Fuhrman

# Copyright<a id="sec-6" name="sec-6"></a>

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.
Z d3a1dd720a4a8a420a1e633253a9509c