GithubHelp home page GithubHelp logo

dotfiles's Introduction

Dotfiles

Nothing special about this repository: it intends to live in ~, with no build scripts, special installation procedure, or symlink trickery.

This set of dotfiles is to be as unobtrusive as possible. Environment variables are preserved, and there shouldn't be any issues with hardcoded paths, etc. Use your own file structure, quirks and all! I aim for over-the-top POSIX compatibility whenever possible. For example, even .bashrc will run in straight POSIX/bourne shell, other than shopt/bind. I also strive for cross-platform friendliness. This should be just as happy on OpenBSD, Cygwin, or Mac OS X as anywhere else. Feel free to open pull requests for added functionality! Even though I'm a text-only vim-using CentOS Linux kind of guy, I want rich support for other platforms and workflows. Mac OS X defaults are especially high on my list of TODOs... :)

Caveats are noted, and all reasonable attempts are made to test environment-specific functionality before including it.

Installation

To use this as a drop-in set of dotfiles, you'll likely need to tweak these to taste:

  • .bashrc's PS1, PATH, EDITOR, EMAIL, LC_ALL/LANG variables, and aliases
  • ~/.bin's location and PATH, if you don't dig that spot

You, uh, probably want to delete this README as well. :D

I would recommend vetting these files and copying only what you like, but if you want to clone this repo in-place into your home directory, it is definitely designed to do that pretty unobtrusively:

cd ~; git init
git remote add origin http://github.com/fl0at/dotfiles.git
git pull origin master

If you use this approach, I'd recommend creating a branch for yourself (git checkout -b your_branch_name) so that you can still easily pull in updates.
You might also lose out on distro-specific functionality.

Quirkiness

Beyond everything mentioned above, there are also a few places where my own idioms might weird you out. They are preceded by a comment containing @@@.

For example, I like my shells to warn me of background screens/tmuxes when I first log in, and output a silly quote, too.
You could always substitute fortune if you don't like my quotes. Or, preferably, contribute more!

There is a .gitignore with an outright wildcard, so your whole homedir doesn't show up as untracked noise.

I also get creeped out by vim's mouse support in terminal emulators, so that's disabled.
(I'd like it if not for passthrough when clicking back onto my terminal. Grr.)

Tmux's keymap is also set up to act like GNU Screen in most respects. I understand most people do this, but I figured I'd note it as a quirk just the same.

License

Unless otherwise specified, (c) Scott Paeth, 2012
No rights reserved. I'd appreciate a namedrop though.

Sources cited where possible. Main source of inspiration was rtomayko's dotfiles, but then, The Internet(tm).

dotfiles's People

Watchers

 avatar

dotfiles's Issues

`map-path` doesn't work on OSX/BSD

The readlink binary doesn't have a --canonicalize option (or -f, as used in the source), causing the program to loop infinitely.

A different approach is needed.

Deal with 256colors

Existing since Tmux 0.6, you can use source-file, and thus programmatically deal with 256 color terminals by using an additional tmux config file.

Something like this:

set -g default-terminal screen-256color
source-file ~/.tmux.conf
if [ `tput colors` -eq 256 ]; then
  alias tmux='tmux -2 -f ~/.tmux.conf.256'
fi

Create OS X branch

OS X has enough quirks and add-ons that rather than clutter up the mainline branch, I'd just as soon have a custom branch. README.md needs to update to reflect this as well, if I do it.

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.