Giter Site home page Giter Site logo

dotfile.sh's Introduction

dotfile.sh

Installation script to install and manage your dotfiles (or any other configuration files, really).

Usage: dotfile.sh [<options>] [<dotfile...>]

The <dotfile...> is a space-separated list of dotfile collections that should be installed.
If left out, all the dotfiles that can be found will be installed.
Collections are found inside folders of the same name under your current working directory.

Options:
  -d,--debug          Passing the debug option will set the -x flag for bash.
  --preview           Don't actually install any dotfiles.
                      Pre/post hooks and backup creations are not going to be run as well.
  --linux             Explicitly install any dotfiles for Linux.
  --osx               Explicitly install any dotfiles for macOS.

Collections

dotfile.sh works by grouping up your various dotfiles (or any other configuration files, really) in folders, that are referred to as collections. For example, a collection for Vim configuration files could look like the following:

├── vimfiles/
│   ├── vim/
│   ├── INSTALL.sh
│   └── vimrc

By running dotfiles vimfiles, the vimrc file would be symlinked to $HOME/.vimrc and the vim folder, which might contain all your plugins for Vim, will be symlinked to $HOME/.vim.

In case there's already a .vimrc file or vim folder present, a backup is created.

Some collections might require some additional installation steps. These can be defined inside a INSTALL.sh file, where a pre() and/or post() function can defined. These hooks will then be called before and after the installation of the collection's dotfiles, respectively.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.