-- mode: markdown; mode: visual-line; fill-column: 80 --

Licence By ULHPC Build Status ![github](https://img.shields.io/badge/git-github- lightgray.svg) ULHPC/dotfiles issues Documentation Status

  Time-stamp: <Mon 2015-05-25 17:20 svarrette>
   _   _ _     _   _ ____   ____   ____        _    __ _ _
  | | | | |   | | | |  _ \ / ___| |  _ \  ___ | |_ / _(_) | ___  ___
  | | | | |   | |_| | |_) | |     | | | |/ _ \| __| |_| | |/ _ \/ __|
  | |_| | |___|  _  |  __/| |___  | |_| | (_) | |_|  _| | |  __/\__ \
   \___/|_____|_| |_|_|    \____| |____/ \___/ \__|_| |_|_|\___||___/

     Copyright (c) 2013-2016 UL HPC Management Team <hpc-sysadmins@uni.lu>

ULHPC dotfiles (bash, vim, screen etc.)

Synopsis

This repository offers a set of default configuration files for bash, screen, vim etc. suitable for the ULHPC environment, but also for any Linux user wishing a reasonable set of functionality for these software (better than the default one proposed by default). For instance, this repository is used in the ULHPC/bash puppet module.

In the sequel, when providing a command, $> denotes a prompt and is not part of the commands.

Pre-requisites

You should install the following elements to use the full functionality of these configuration files:

  • bash
  • bash-completions
  • screen
  • git
  • subversion
  • vim

Installation

All-in-one git-free install

Using curl (adapt the --all option to whatever you prefer -- see below table):

$> curl -fsSL https://raw.githubusercontent.com/ULHPC/dotfiles/master/install.sh | bash -s -- --all

Using Git and the embedded Makefile

This repository is hosted on Github. You can clone the repository wherever you want. If the location of the local repository is not ~/.dotfiles, the install.sh script will create a symlink ~/.dotfiles pointing to the location of the repository.

To clone this repository directly into ~/.dotfiles/, proceed as follows

    $> git clone https://github.com/ULHPC/dotfiles.git ~/.dotfiles

/!\ IMPORTANT: Once cloned, initiate your local copy of the repository by running:

    $> cd ~/.dotfiles
    $> make setup

This will initiate the Git submodules of this repository and setup the git flow layout for this repository.

Now to install all the dotfiles, run:

    $> make install

Using Git and the embedded install.sh script

The above make install command actually runs (see .Makefile.after):

     $> ./install.sh --all   # Equivalent of 'make install'

Note that by default (i.e. without option), the install.sh script does nothing except cloning the repository if the dotfiles directory does not yet exists (in ~/.dotfiles by default).

  • if you do not want to install everything but only a subpart, kindly refer to the below table to find the proper command-line argument to use. Ex:
         $> ./install.sh --vim --git
  • if you want to install everything in a row, use as suggested above the --all option

Updating / Upgrading

Upgrading is normally as simple as:

 $> make -C ~/.dotfiles update

OR, if you prefer a more atomic approach:

 $> cd ~/.dotfiles
 $> make update

Note that if you wish to upgrade the Git submodules to the latest version, you should run:

 $> make upgrade

Uninstalling / Removing the ULHPC dotfiles

You can use install.sh --delete to remove the ULHPC dotfiles.

/!\ IMPORTANT: pay attention to use the options matching you installation package.

  • if you have installed all the dotfiles, run:
     $> ./install.sh --delete --all     # OR make uninstall
  • if you have installed only a subpart of the dotfiles, adapt the command line option. Ex:
     $> ./install.sh --delete --vim --git

What's included and how to customize?

Tools Type Installation Documentation
Bourne-Again shell (bash) shell ./install.sh --bash bash/README.md
VI iMproved (vim) editor ./install.sh --vim vim/README.md
Git --fast-version-control VCS ./install.sh --git git/README.md
GNU screen terminal multiplexers ./install.sh --screen screen/README.md
SSH remote shell ./install.sh --ssh ssh/README.md

As mentioned above, if you want to install all dotfiles in one shot, just use

  $> ./install.sh --all      # OR 'make install'

Issues / Feature request

You can submit bug / issues / feature request using the ULHPC/dotfiles Project Tracker or the UL HPC Tracker.

Developments / Contributing to the code

If you want to contribute to the code, you shall be aware of the way this repository is organized and developed. These elements are detailed on docs/contributing/

Licence

This project is released under the terms of the GPL-3.0 licence.

Licence

Resources

We have created this repository using various contributions on the Internet, in particular: