/dotfiles

Personal configuration files for bash, zsh, git, vim, screen etc.

Primary LanguageShellOtherNOASSERTION

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

Licence By Falkor Build Status github Falkor/dotfiles issues Documentation Status

    Time-stamp: <Wed 2016-03-02 00:49 svarrette>

     ______    _ _             _       _____        _    __ _ _
    |  ____|  | | |           ( )     |  __ \      | |  / _(_) |
    | |__ __ _| | | _____  _ __/ ___  | |  | | ___ | |_| |_ _| | ___ ___
    |  __/ _` | | |/ / _ \| '__|/ __| | |  | |/ _ \| __|  _| | |/ _ \ __|
    | | | (_| | |   < (_) | |   \__ \ | |__| | (_) | |_| | | | |  __\__ \
    |_|  \__,_|_|_|\_\___/|_|   |___/ |_____/ \___/ \__|_| |_|_|\___|___/


   Copyright (c) 2011-2016 Sebastien Varrette aka Falkor <Sebastien.Varrette@uni.lu>

Sebastien Varrette aka Falkor's dotfiles

These are my configuration files for bash, zsh, git, vim etc. so as to set up a system the way I like it. For instance, here is a screenshot of my terminal illustrating its behaviour on classical contexts commonly met on a daily usage of interactions with git repositories etc.

Warning: Use these dotfiles at your own risk!

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 config files:

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

On Mac OS, assuming you have installed HomeBrew (you really should), you can use brew/Brewfile.minimal to install these dependencies as follows:

# Install brew bundle -- see https://github.com/Homebrew/homebrew-bundle
$> brew tap Homebrew/bundle
# Collect the Brewfile
$> curl -o /tmp/Brewfile https://raw.githubusercontent.com/Falkor/dotfiles/master/brew/Brewfile.minimal
# Install Falkor's dotfile dependencies
$> brew bundle --file=/tmp/Brewfile -v

On Linux:

# Debian / Ubuntu
$> sudo apt-get install git git-flow bash-completion screen curl subversion zsh fonts-font-awesome

Falkor's dotfiles 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/Falkor/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. Personally, I like to keep it in ~/git/github.com/Falkor/dotfiles, with ~/.dotfiles.falkor.d as a symlink. This behaviour will be reflected in the install.sh script i.e. if it is invoked from a directory that differs from ~/.dotfiles.falkor.d, a symlink will be created toward the place where your cloned this repository.

Otherwise, to clone this repository directly into ~/.dotfiles.falkor.d/, proceed as follows

    $> git clone https://github.com/Falkor/dotfiles.git ~/.dotfiles.falkor.d

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

    $> cd ~/.dotfiles.falkor.d
    $> make setup

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

Now to install all my 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 Falkor/dotfiles directory if it does not yet exists (in ~/.dotfiles.falkor.d 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 --zsh --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 ~/.config/dotfiles.falkor.d update

OR, if you prefer a more atomic approach:

 $> cd ~/.config/dotfiles.falkor.d
 $> make update

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

 $> make upgrade

Uninstalling / Removing Falkor's dotfile

You can use install.sh --delete to remove Falkor's dotfiles.

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

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

What's included and how to customize?

Tools Type Installation Documentation
Bourne-Again shell (bash) shell ./install.sh --bash bash/README.md
zsh / Oh-my-zsh shell ./install.sh --zsh oh-my-zsh/README.md
VI iMproved (vim) editor ./install.sh --vim vim/README.md
GNU Emacs editor ./install.sh --emacs emacs/README.md
Git --fast-version-control VCS ./install.sh --git git/README.md
GNU screen terminal multiplexers ./install.sh --screen screen/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 Falkor/dotfiles Project 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

You can find of course many other resources in terms dotfiles repositories. I suggest you to take a look at the following places I inspired: