zhanghanduo / dotfiles

💻 Ubuntu dotfiles for project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Handuo 's dotfiles

Build Status Build Status

These are the base dotfiles that I start with when I set up a new environment. For more specific local needs I use the *.local files described in the Local Settings section.

Table of Contents

Setup

To set up the dotfiles run the appropriate snippet in the terminal:

(⚠️ DO NOT run the setup snippet if you do not fully understand what it does. Seriously, DON'T!)

OS Snippet
macOS bash -c "$(curl -LsS https://raw.github.com/zhanghanduo/dotfiles/devel/src/os/setup.sh)"
Ubuntu bash -c "$(wget -qO - https://raw.github.com/zhanghanduo/dotfiles/devel/src/os/setup.sh)"

That's it! ✨

The setup process will:

  • Download the dotfiles on your computer (by default it will suggest ~/projects/dotfiles)
  • Create some additional [directories][directories]
  • Symlink the git, shell, and
  • Install applications / command-line tools for macOS / Ubuntu
  • Set custom macOS / Ubuntu preferences

Setup process in action:

Setup process on Ubuntu Setup process on Ubuntu
macOS Ubuntu

Customize

Local Settings

The dotfiles can be easily extended to suit additional local requirements by using the following files:

~/.zsh.local

The ~/.zsh.local file will be automatically sourced after all the other zsh related files, thus, allowing its content to add to or overwrite the existing aliases, settings, PATH, etc.

Here is a very simple example of a ~/.zsh.local file:

#!/bin/zsh

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# Set local aliases.

alias g="git"

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# Set PATH additions.

PATH="$PATH:$HOME/projects/dotfiles/src/bin"

export PATH

~/.gitconfig.local

The ~/.gitconfig.local file will be automatically included after the configurations from ~/.gitconfig, thus, allowing its content to overwrite or add to the existing Git configurations.

Note: Use ~/.gitconfig.local to store sensitive information such as the Git user credentials, e.g.:

[commit]

    # Sign commits using GPG.
    # https://help.github.com/articles/signing-commits-using-gpg/

    gpgsign = true

[user]

    name = Cătălin Mariș
    email = account@example.com
    signingkey = XXXXXXXX

Update

To update the dotfiles you can either run the setup script or, if you want to update one particular part, run the appropriate os script.

Screenshots

Git

Output for Git status:

Output for Git status on macOS Output for Git status on Ubuntu
macOS Ubuntu

Output for Git log:

Output for Git log on macOS Output for Git log on Ubuntu
macOS Ubuntu

tmux & Vim

tmux and Vim on macOS tmux and Vim on Ubuntu
macOS Ubuntu

License

The code is available under the MIT license.

About

💻 Ubuntu dotfiles for project

License:MIT License


Languages

Language:Shell 50.7%Language:Python 28.4%Language:Vim Snippet 11.5%Language:Vim Script 8.9%Language:AppleScript 0.4%Language:Dockerfile 0.1%