Git Product home page Git Product logo

dotfiles's Introduction

##my::dotfiles

In the constant quest to make every machine in your image you'll need *nix config files. This repo contains all of the "must have" features in a really easy to install package.

Install

Simply run rake or rake install or rake all:install from within the repository. Install happens according to ~/ paths. We'll try to keep what's there, but chance are whatever bad decisions you made prior to installing these dotfiles will be forever gone. #yolo

Note: You want to make sure the repository exists in a stable and convenient place. Once installed, the repository cannot be moved or deleted without causing serious instability. Be sure to run a clean uninstall before deleting or moving the configuration.

How it works

This repository installs a core set of configurations for various essential tools.

For shell configurations, aliases and scripts it also provides the concept of .local. This way you can create local content unique to your specific system while offloading the bulk of the work to the core configuration. If you're running on a Raspberry Pi add some Rasbian specific settings in ~/.bashrc.local. If you've got a script that only works from box with specific credentials toss it in ~/.bin.local.

Most of the work is done by installing some symbolic links in your $HOME folder to each individual configuration file (e.g. ~/.vimrc -> /path/to/repository/vimrc) or to subdirectories (e.g. ~/.bin/ -> /path/to/repository/bin). However, some content is pushed straight to physical directories for stability reasons (e.g. vim plugins will download and install content straight into your ~/.vim directory).

Shell Config Loading

The configs assume a standard shell invocation process and currently support bash and zsh. Remember that zsh wins in most cases, so just do that? The load paths for each are as follows with what loads each config:

ZSH

  (system) -> .zshenv
  (system) -> .zshrc
    (zshrc) -> .zshrc.local (if you created it)
    (zshrc) -> .aliases_shared
    (zshrc) -> .zsh_aliases
    (zshrc) -> .aliases_shared.local (if you created it)
    (zshrc) -> .zsh_aliases.local (if you created it)

BASH

  (system) -> .bashrc
    (bashrc) -> .bashrc.local (if you created it)
    (bashrc) -> .aliases_shared
    (bashrc) -> .bash_aliases
    (bashrc) -> .aliases_shared.local (if you created it)
    (bashrc) -> .bash_aliases.local (if you created it)

The shell configs are intended to be used on top of one another without much/any overhead. Our goal was to create a clean environment whether you start in bash and tmux(bmuxs) into zsh or go straight into zsh.

Tmuxline

This uses tmuxline.vim. Tmuxline can be used to match against vim-airline, powerline, vim-lightline or any other certain type of status line. Currently this defaults to the style of the normal vim status line, but you can use another status line in your .vimrc.local and create a .tmuxline.conf.local which will be referenced instead to make a tmux status line that matches a vim one.

Uninstall

Simply run rake uninstall from within the repository. This should also be helpful if installation fails halfway though.

dotfiles's People

Contributors

dewyze avatar raymondberg avatar

Watchers

James Cloos avatar  avatar

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.