GithubHelp home page GithubHelp logo

voku / dotfiles Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mathiasbynens/dotfiles

213.0 12.0 51.0 11.83 MB

:bookmark_tabs: .dotfiles for Bash (Linux) / ZSH (Linux) / Git Bash (Windows) / Cygwin (Windows) / Bash on Ubuntu on Windows

License: MIT License

Shell 93.44% Ruby 0.06% Python 1.85% Makefile 0.06% Perl 0.60% GDB 0.01% Roff 0.16% Vim Script 3.83%
dotfiles bashrc zshrc vimrc linux windows macos hacktoberfest

dotfiles's Introduction

📑 .dotfiles

... for Bash / ZSH / Git Bash (Windows) / Cygwin (Windows) / Bash on Ubuntu on Windows

--> Screenshots & Screencasts

Installation

Using Git and the bootstrap script

You can clone the repository wherever you want. (I like to keep it in ~/Projects/dotfiles, with ~/dotfiles as a symlink.) The bootstrapper script will pull in the latest version and copy the files to your home folder.

# get the code
cd ~ ; git clone https://github.com/voku/dotfiles.git; cd dotfiles

# only for Debian based e.g. Ubuntu, Lubuntu, Kubuntu etc.
./firstInstallDebianBased.sh

# only for Cygwin (Windows)
./firstInstallCygwin.sh

# copy the dotfiles into your home directory
./bootstrap.sh

To update, cd into your local dotfiles repository and then:

./bootstrap.sh

Add custom commands without creating a new fork

If ~/.config_dotfiles does not exists, the "bootstrap.sh"-script will create a default config for you.

My ~/.config_dotfiles looks something like this:

#!/bin/sh

CONFIG_DEFAULT_USER="lars"
CONFIG_ZSH_PLUGINS="(git zsh-completions zsh-syntax-highlighting)"
CONFIG_BASH_PLUGINS="(git)"
CONFIG_ZSH_THEME="voku"
CONFIG_BASH_THEME="voku"
CONFIG_CHARSET_UTF8=true
CONFIG_LANG="en_US"
CONFIG_TERM_LOCAL="" # terms: screen byobu tmux
CONFIG_TERM_SSH=""

If ~/.extra exists, it will be sourced along with the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you don’t want to commit to a public repository.

My ~/.extra looks something like this:

#!/bin/sh

export DOTFILESSRCDIR="/home/lars/dotfiles/"

GIT_AUTHOR_NAME="Lars Moelleken"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
git config --file=$HOME/.gitconfig.extra user.name "$GIT_AUTHOR_NAME"

GIT_AUTHOR_EMAIL="[email protected]"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
git config --file=$HOME/.gitconfig.extra user.email "$GIT_AUTHOR_EMAIL"

git config --file=$HOME/.gitconfig.extra push.default simple

You could also use ~/.extra to override settings, functions and aliases from my dotfiles repository. It’s probably better to fork this repository instead, though. And you can use ~/.vimrc.extra to edit the vim settings without touching the main configuration.

Run the tests

e.g.:

bash .redpill/tests/functions-tests.sh
zsh .redpill/tests/functions-tests.sh

Feedback

Suggestions/improvements welcome!

Thanks to…

dotfiles's People

Contributors

0xcc77 avatar alanyee avatar alrra avatar atdt avatar christiangaertner avatar drvanscott avatar eins78 avatar goodtimeaj avatar hkdobrev avatar hongymagic avatar manix84 avatar mathiasbynens avatar matijs avatar necolas avatar nickbudi avatar nizaroni avatar nvartolomei avatar oschrenk avatar paulirish avatar pkruithof avatar porada avatar richo avatar s10wen avatar serpro69 avatar sindresorhus avatar sjonnet19 avatar tuxcoder avatar tuxflo avatar user996015 avatar voku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dotfiles's Issues

discussion: should .gitconfig be part of dotfiles?

Currently .gitconfig is copied to $HOME/.gitconfig each time the user executes "source bootstrap". git stores information such as user.email or user.name in that file. So this information is always removed by the boostrapping.

I see two alternatives:

  1. remove .gitconfig from dotfiles or exclude .gitconfig from rsync
  2. rename .gitconfig to .gitconfig2 (or something else). The user may add a
[include]
        path = ~/.gitconfig2

to the now untouched ~/.gitconfig. The drawback of this alternative is, that it requires git 1.7.10+. But users of older git versions (do they exist?) can still manually copy/merge/whatever .gitconfig2 to .gitconfig. In my opinion this manual step is better than loosing a mature git configuration.

More info about includes:
http://git-scm.com/docs/git-config
http://stackoverflow.com/questions/1557183/is-it-possible-to-include-a-file-in-your-gitconfig

better passwdgen

Patch for a better passwdgen function.
It can generates nearly infinity lenght of passwords and uses [0-9a-zA-Z_] as base chars.

patch: TuxCoder@a8fc8a9

Revert ff98806 ?

Maybe the change introduced by ff98806 should be reverted.

If you are in input mode, pressing ESC and a command may not lead to the desired result. For example:

Enter some text with several "the" (the the the)
(while in normal mode)
gg0
/the
a
^[
n

In words: search for "the", enter input mode (append). Now hit ESC and - as soon as possible - 'n' to search for the next "the". Instead of jumping to the next match, a strange character is appended.

Another example:
(Make sure, ^[ is ESC, a single character)

:let @a='a^[aexam^[aple^['
@a

This should lead to

example

but instead generates

áexamáple

Maybe better try to avoid mappings with META at all?

ommit warnings if ruby or lesspipe is not installed

patch below

Date: Mon, 16 Jun 2014 11:06:36 +0200
Subject: [PATCH] suppress stderr on missing commands

---
 .exports |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.exports b/.exports
index c9b1e22..c7feebd 100644
--- a/.exports
+++ b/.exports
@@ -15,7 +15,7 @@ if [ "$UID" != 0 ]; then
     PATH="$PATH:/usr/local/bin:/usr/sbin:/sbin:/usr/local/sbin"
 fi

-if which ruby >/dev/null && which gem >/dev/null; then
+if which ruby >/dev/null 2>&1 && which gem >/dev/null 2>&1; then
     PATH="$PATH:$(ruby -rubygems -e 'puts Gem.user_dir')/bin"
 fi

@@ -75,7 +75,7 @@ if [ "$UID" != 0 ]; then
     export LESSCHARSET="utf-8"

     if [ -z "$LESSOPEN" ]; then
-      [ -x "`which lesspipe`" ] && eval "$(lesspipe)"
+      [ -x "`which lesspipe 2>/dev/null`" ] && eval "$(lesspipe)"
     fi

     # yep, 'less' can colorize manpages
--
1.7.9

vimrc CTRL-P not working

Hey! I'm using your .vimrc file and just tried to test the Ctrl-P plugin but if I hit p there is a message that the command ag is missing:
zsh:1: command not found: ag
I'm running arch linux and cannot find a package containing the ag command.

composure.sh replaced by an older version

line wrapping issue on non-utf8 systems

The fancy PS1 contains some utf-8 character sequences, e.g. ICON_FOR_TRUE or ICON_FOR_ARROW_RIGHT. As long as the locale is set to some utf8 dialect, prompt length calculation is correct. As soon as the locale is changed to C or de_DE@euro, like

$ export LC_ALL=C

there will be an issue for commands which spawns more than one line: the arrow up key to review such a long command from history will garble the prompt. The command is also not completely shown.

If the ICONs are all true one character sequences, everything is fine under both types of locales.

How to solve this? Stick to pure ASCII characters?

Entering git repo throws "Cannot find gitstatus.sh"

Not sure what this is. Had this error once before, couldn't find the culprit and had to do clean install. Now after a few days of using the dotfiles again seeing this error.

Re-running bootstrap.sh did not help. The file is clearly present in the /bin folder, however still getting this error.

Oh, and thanks for these awesome dotfiles!

Upd: I've noticed my shell got switched back to bash instead of zsh. Switching to zsh made the issue disappear. But should this work under bash shell as well?

multiple line error in git repo

Wenn I'm in a git repo and tipe a row full it continue in the same row and not in the next.

example:
"xxxxxxxxx:~/dotfiles_voku→ (master) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
"
It has also some spaces at the end that are not copied

I think the bug is in the $PS1 or $PS2
And was not happend before Jun 8 with the commit hash a181bec (I have an old version)

fix white space

Is there already something like "fixWhiteSpace"?. In case not

bronson/vim-trailing-whitespace

might be useful.

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.