Personal shell environment
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
emacs.d
hosts
mk
thirdparty
COPYRIGHT-BSD2.txt
GNUmakefile
README.md
Xresources
bash_bsd
bash_darwin
bash_linux
bash_logout
bash_profile
bash_unix_sv
bashrc
functions
gitconfig
global-excludes
hostaliases
indent.pro
mg
nanorc
perltidyrc
prompts
screenrc
setup.sh
tmux.conf

README.md

Table of Contents

  1. Description
    1. Requirements
    2. Supported Platforms
  2. Obtaining ShellPAK
    1. Alternate Repositories
  3. Installation
    1. Other setup options
  4. Bugs
  5. Author
  6. Copyright

Description

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.