Giter Club home page Giter Club logo

dotfiles's Introduction

dotfiles

Dave's Dotfiles

The goal is to get a system up and running in as little time as possible. This repository will grow as I learn. I am constantly installing linux on something.

Home Directory Setup

~/bin - for compiled binaries. Usually from outside sources and that I do not want synced. ~/bin/src - source files ~/dotfiles - Where dotfiles that need to be synced to the cloud will live. ~/dotfiles/scripts - Shellscripts and other utilities will live.

Used the example from: http://blog.smalleycreative.com/tutorials/using-git-and-github-to-manage-your-dotfiles/ to sync my dotfiles

NOTE!!!: do not run makesymlinks.sh because it installs zsh and oh_my_zsh. I don't use zsh

vimrc examples from:https://www.youtube.com/watch?v=YhqsjUUHj6g

Git submodules

We can use gitmodules as a way of keeping our repo clean. We can include a reference to third part code without actually storing it in our own repo. After the repo has been cloned run:

$ cd dotfiles
~/dotfiles$ git submodule init
~/dotfiles$ git submodule update

This will clone vim/bundle submodules. Now symlink the following config files to the root of the home directory.

ln -s ~/dotfiles/vim ~/.vim
ln -s ~/dotfiles/vimrc ~/.vimrc

To add more vim plugins as submodules:

~/dotfiles$ git submodule add <https://path/to/submodule/repo.git> <path/to/designated/directory>

Using ctrlp as an example,

~/dotfiles$ git submodule add https://github.com/kien/ctrlp.vim.git vim/bundle/ctrlp.vim

If you do a git status you will notice it modified the gitmodules file and added a new file.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   .gitmodules
    new file:   vim/bundle/rust.vim

This new file is ok as git is adding a reference to the file.

It is safe to commit these.

~/dotfiles$ git commit -m "added ctrlp vim plugin"
~/dotfiles$ git push

Just make sure.. Pay attention to whether or not the github repo is a folder or a file. The designated directory will matter.

Notes about TMUX

Since tmux doesnt run in 256 mode by default it is best to force it using an alias in either .bashrc or .profile. For whatever reason it is not enabled in .tmux.conf even though it is there. Put this line in either .bashrc or .profile or both: alias tmux="TERM=screen-256color-bce tmux" Also if using putty or mtputty, enable utf-8 mode so we don't get funny characters to denote pane splits. To do that open the regular putty.exe go to Window > Translation > Remote character set. From the dropwdown select UTF-8. Save this session and you should be able to load it in mtputty.

Tmuxifier

Define the custom layouts path for tmuxifier in .profile or .bashrc so we can sync our custom layouts. First make a symlink to ~/.tmux-layouts from ~/dotfiles/tmux-layouts Then in either .profile or .bash

eval "$(tmuxifier init -)"
export TMUXIFIER_LAYOUT_PATH="$HOME/.tmux-layouts"

Then on the next line we can pass args to tmux itself. In this case force tmux to start in 256 color mode.

export TMUXIFIER_TMUX_OPTS="-2"

dotfiles's People

Contributors

dgeene avatar david-geene-bose avatar

Stargazers

Craig Dawson avatar

Watchers

James Cloos avatar Craig Dawson 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.