Skip to content

trevtrich/dotfiles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My .files

Build Status Code Climate

My disaster recovery plan.

Purpose

This repository contains most of my base configuration, but is primarily focused on OSX and linux. These files make it simple to configure a new machine from scratch as well as keep it up-to-date over time.

Installation

Prerequisites

  • git must be installed
  • Homebrew is installed
  • pyenv is installed from homebrew

Linux

Command

git clone https://github.com/trevtrich/dotfiles.git && cd dotfiles/setup/ && source init.sh

What does it do?

System Bootstrapping

setup/init.sh presents two options:

  • Environment configuration
  • Software Installation/Update

Environment Configuration

  • Creates a symlink for ~/.dotfiles in the home directory
  • Symlinks dotfiles from each folder under ~/.dotfiles into the home directory
  • Symlinks dotfiles from each folder under ~/.dotfiles.extra into the home directory
  • Symlinks maven plugins into global plugins directory
  • Symlinked .bash_profile sources several files in order to:
    • Define environment variables
    • Define aliases
    • Enable my custom prompt
    • Source additional files from ~/.dotfiles/osx/ and ~/.dotfiles/windows/
    • Source ~/.dotfiles.extra/bash/source.sh
macOS
  • Configures OSX defaults

Software Installation/Update

  • Updates global NPM packages
  • Installs/Updates VIM plugins
macOS Software
  • Installs Homebrew
  • Installs the applications defined in:
    • ~/.dotfiles/osx/Brewfile
    • ~/.dotfiles.extra/osx/Brewfile
Linux Software
  • Installs Homebrew
  • Installs the applications defined in:
    • ~/.dotfiles/linux/Brewfile
  • Installs some useful Debian packages through apt-get

Supported Environments

The following environments are the ones that this configuration has been tested in by me, in order from most often to least often used.

  • Terminal.app on macOS (Sierra is my primary)
  • GitBash on Windows
  • SSH sessions into Ubuntu

Verification

Execute

With Vagrant available, you can run the full verification locally:

rake --rakefile=test/Rakefile

If Vagrant isn't installed, or you want to only run the lint checks:

rake --rakefile=test/Rakefile lint

What's included

  • Lint

    • Shellcheck for shell scripts
    • Markdownlint for markdown files
  • Behavioral tests

    • TestKitchen to verify that a fresh machine would be configured appropriately (coverage is sparse for these tests at this point)

Influences

Strongly influenced by:

About

My disaster recovery plan.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vim Script 97.5%
  • Shell 2.4%
  • Ruby 0.1%