This repository is used for setting up my new development environment on macOS and Arch Linux(Manjaro). It contains my dotfiles and configurations with my favorite settings.
(:warning: These are the settings for myself, PLEASE TAKE IT SERIOUSLY BEFOR YOU RUN)
To set up the dotfiles
just run the appropriate snippet in the
terminal:
OS | Snippet |
---|---|
macOS |
bash -c "$(curl -LsS https://raw.githubusercontent.com/winkey728/dotfiles/master/src/bootstrap/setup.sh)" |
Manjaro |
bash -c "$(wget -qO - https://raw.githubusercontent.com/winkey728/dotfiles/master/src/bootstrap/setup.sh)" |
and then wait for the completion.
NOTE: It will take a long time to finished, and I recommand to setup a VPN if you run it on macOS.
The setup process will:
- Download the dotfiles on your computer (by default it will suggest
~/project/github/dotfiles
) - Create some directories
- Symlink the dotfiles ( git, tmux, vim, zsh and etc. )
- Install command-line tools / GUI applications for macOS / Manjaro
- Set custom macOS / Manjaro preferences
macOS | Manjaro |
macOS | Manjaro |
macOS | Manjaro |
macOS | Manjaro |
macOS | Manjaro |
Those additional local requirements can be put in the .local
files.
The ~/.zsh.local
file will be sourced after
~/.zprofile
and ~/.zshrc
, thus, allowing
its content to add to or overwrite the
existing aliases, settings, PATH, etc.
The ~/.gitconfig.local
file will be included
after the configurations from ~/.gitconfig**, thus, allowing its content to overwrite or add to the existing
git** configurations.
Note: Don't put sensitive information in ~/.gitconfig
,
Use ~/.gitconfig.local
to store them, e.g.:
[commit]
# Sign commits using GPG.
# https://help.github.com/articles/signing-commits-using-gpg/
# gpgsign = true
[diff]
# You can use any diff tool here(e.g. Meld)
# tool = meld
[merge]
# You can use any merge tool here(e.g. Meld)
# tool = meld
[user]
name = winkey
email = winkey@example.com
# signingkey =
[credential]
helper = osxkeychain
To update the dotfiles you can either run the setup
script or, if you want to just
update one particular part, run the appropriate script.
Inspiration and code was taken from many sources, including: