Coder Social home page Coder Social logo

dotfiles's Introduction

dotfiles.github.io freshshell.com

Inspired by (and using some pieces from) Bash-It

Customizing the Terminal

macOs, bash, and Operator Mono

bash screenshot

After watching Paul Irish's talk from Fluent 2012 I realized my dotfiles could use some attention. Generally, I throw some scripts in there as needed, but never take the time to figure out a good workflow for managing all the configurations. When I'm coding, I always have a Terminal open. With some fine tuning, the Terminal can offer a lot of power from a very simple interface. When you find your harmonious setup, you're going to want to share it across your machines and have backups.

Github Dotfiles is a community around publically sharing such setups. There's plenty of options and choices to make. This can be overwhelming but there's a few tools that help keep it simple.

I started my customization journey with bash-it, an obvious choice given my predisposition for bash (see footnote). Bash-It is a "shameless rippoff of oh-my-zsh" that provides a framework for including aliases, plugins, completions, and themes in your configuration. I combed through the files and picked out several features I wanted to keep and use as my own.

While Bash-It provides a nifty framework for bootstrapping its set of customizations, I wanted something more flexible and extensible to manage my setup. I installed fresh. With fresh, I can include anything from Bash-It's framework as well as any other Git-hosted code. So, rather than using Bash-It's bootstrap, I can use fresh's bootstrap to load Bash-It's files. Bash-It mirrors other files, like plugins, from popular shell libraries. With Fresh, I can go straight to the source and avoid the extra overhead of Bash-It.

I have yet to write a proper bootstrap script to get a new machine up and running, but "Cowboy" Ben Alman and Mathias Bynens have some pointers. The installation process is pretty simple on Mac OS X with Homebrew & git.

Also works & tested on debian-8.

Update: I wrote a simple installation script.

Clone the repo:

git clone https://github.com/simshanith/dotfiles.git ~/.dotfiles

Run the install script:

~/.dotfiles/install.sh

Footnote: I think Sam Stephenson said it best when discussing his move from zsh to bash in his blog post "On Configuration".

What I discovered is that in many cases, my ability to adapt to a foreign environment without frustration is more important than the benefits of configuring a local environment to suit my whims. And that being able to quickly recreate my environment from scratch is an asset.

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.