/dotfiles

dotfiles for Debian / Ubuntu

Primary LanguageShellMIT LicenseMIT

Stories in Ready

dotfiles for bash / zsh

Screenshot of my shell prompt

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.

cd ~ ; git clone https://github.com/voku/dotfiles.git; cd dotfiles; ./firstInstall.sh ; ./ 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/bash

CONFIG_DEFAULT_USER="lars"
CONFIG_TMUX=false
CONFIG_ZSH_PLUGINS="(git bower composer ruby bundler gem)"
CONFIG_ZSH_THEME="voku"
CONFIG_BASH_THEME="voku"
CONFIG_CHARSET_UTF8=true
CONFIG_LANG="en_US"

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/bash
GIT_AUTHOR_NAME="Lars Moelleken"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
git config --global user.name "$GIT_AUTHOR_NAME"
GIT_AUTHOR_EMAIL="lars@moelleken.org"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
git config --global user.email "$GIT_AUTHOR_EMAIL"
git config --global 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.

Screenshot

Debian / Ubuntu: package search & install: Debian / Ubuntu: package search & install

pushd / popd: push and pop directories on directory stack: pushd / popd: push and pop directories on directory stack

easier navigation via aliases: easier navigation via aliases

color for ping / traceroute / ps / top / ...: color for ping / traceroute / ps / top / ...

more useful shortcuts: more useful shortcuts

difflight & filename auto-completion via zsh: difflight & filename auto-completion via zsh

copy text via "getclip" & putclip": copy text via "getclip" & putclip

kill & pkill via z-shell: kill & pkill via z-shell

grep & ack: grep & ack

git via z-shell: git via z-shell

optimized "ls"-aliases: optimized "ls"-aliases

"vim" » jump to last position: "vim" » jump to last position

"vim" » quick search via "<#>" or "*": "vim" » quick search via "<#>" or "*"

vim » highlight trailing spaces in annoying red: "vim" » highlight trailing spaces in annoying red

vim » "tabs" & "file-view": "vim" » "tabs" & "file-view"

vim » tab-completion: (you have to switch off the "paste"-mode via ) "vim" » tab-completion

Feedback

Suggestions/improvements welcome!

Thanks to…