# dotfiles
**Repository Path**: sophatvathana/dotfiles
## Basic Information
- **Project Name**: dotfiles
- **Description**: :wrench: OS X / Ubuntu dotfiles
- **Primary Language**: Shell
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2016-08-02
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# [Cătălin](https://github.com/alrra)’s dotfiles
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`](#local-settings) section.
## Setup
To setup the dotfiles just run the appropriate snippet in the
terminal:
(:warning: **DO NOT** run the setup snippet if you don't fully
understand [what it does](dotfiles). Seriously, **DON'T**!)
| OS | Snippet |
|:---:|:---|
| OS X | `bash -c "$(curl -LsS https://raw.github.com/alrra/dotfiles/master/dotfiles)"` |
| Ubuntu | `bash -c "$(wget -qO - https://raw.github.com/alrra/dotfiles/master/dotfiles)"` |
That's it! :sparkles:
The setup process will:
* Download the dotfiles on your computer (by default it will suggest
`~/projects/dotfiles`)
* Create some additional [directories](os/create_directories.sh)
* [Symlink](os/create_symbolic_links.sh) the
[git](git),
[shell](shell), and
[vim](vim) files
* Install applications / command-line tools for
[OS X](os/os_x/installs/main.sh) /
[Ubuntu](os/ubuntu/installs/main.sh)
* Set custom
[OS X](os/os_x/preferences/main.sh) /
[Ubuntu](os/ubuntu/preferences/main.sh) preferences
* Install [vim plugins](vim/vim/plugins)
| Setup process in action |
|
|
## Screenshots
##### Git
| Output for Git status |
|
|
| Output for Git log |
|
|
##### tmux
##### vim
## Customize
### Local Settings
The dotfiles can be easily extended to suit additional local
requirements by using the following files:
#### `~/.bash.local`
If the `~/.bash.local` file exists, it will be automatically sourced
after all the other [bash related files](shell), thus, allowing its
content to add to or overwrite the existing aliases, settings, PATH,
etc.
Here is a very simple example of a `~/.bash.local` file:
```bash
#!/bin/bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set local aliases
alias starwars="telnet towel.blinkenlights.nl"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set PATH additions
PATH="/usr/local/bin:$PATH"
PATH="$PATH:$HOME/projects/dotfiles/bin"
export PATH
```
#### `~/.gitconfig.local`
If the `~/.gitconfig.local` file exists, it 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.:
```bash
[user]
name = Cătălin Mariș
email = alrra@example.com
```
#### `~/.vimrc.local`
If the `~/.vimrc.local` file exists, it will be automatically sourced
after `~/.vimrc`, thus, allowing its content to add or overwrite the
settings from `~/.vimrc`.
#### `~/.gvimrc.local`
Same as `~/.vimrc.local` but for `~/.gvimrc`.
### Forks
If you decide to fork this project, don't forget to substitute my
username with your own in the [setup snippets](#setup) and [in the
`dotfiles` script](https://github.com/alrra/dotfiles/blob/5b524ba9ca07b66db1955d18a2fb66bf4b48f677/dotfiles#L3).
## Update
To update the dotfiles you can either run the [`dotfiles`
script](dotfiles) or, if you want to just update one particular part,
run the appropriate [`os` script](os).
## Acknowledgements
Inspiration and code was taken from many sources, including:
* [Mathias Bynens'](https://github.com/mathiasbynens)
[dotfiles](https://github.com/mathiasbynens/dotfiles)
* [Nicolas Gallagher's](https://github.com/necolas)
[dotfiles](https://github.com/necolas/dotfiles)
## License
The code is available under the [MIT license](LICENSE.txt).