https://github.com/sebasg22/dotfiles
https://github.com/sebasg22/dotfiles
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sebasg22/dotfiles
- Owner: SebasG22
- License: mit
- Created: 2020-04-10T18:03:48.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2022-02-09T11:36:58.000Z (over 4 years ago)
- Last Synced: 2025-06-25T19:02:25.836Z (12 months ago)
- Language: Shell
- Size: 323 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# [SebasG](https://github.com/SebasG)’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 set up 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](src/os/setup.sh). Seriously, **DON'T**!)
| OS | Snippet |
|:---|:---|
| `macOS` | `bash -c "$(curl -LsS https://raw.github.com/SebasG/dotfiles/master/src/os/setup.sh)"` |
| `Ubuntu` | `bash -c "$(wget -qO - https://raw.github.com/SebasG/dotfiles/master/src/os/setup.sh)"` |
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](src/os/create_directories.sh)
* [Symlink](src/os/create_symbolic_links.sh) the
[`git`](src/git),
[`shell`](src/shell), and
[`vim`](src/vim) files
* Install applications / command-line tools for
[`macOS`](src/os/install/macos) /
[`Ubuntu`](src/os/install/ubuntu)
* Set custom
[`macOS`](src/os/preferences/macos) /
[`Ubuntu`](src/os/preferences/ubuntu) preferences
* Install [`vim` plugins](src/vim/vim/plugins)
Setup process in action:
macOS
Ubuntu
## Screenshots
### Git
Output for `git status`:
macOS
Ubuntu
Output for `git log`:
macOS
Ubuntu
### tmux & vim
macOS
Ubuntu
## Customize
### Local Settings
The `dotfiles` can be easily extended to suit additional local
requirements by using the following files:
#### `~/.bash.local`
The `~/.bash.local` file it will be automatically sourced after
all the other [`bash` related files](src/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="$PATH:$HOME/projects/dotfiles/src/bin"
export PATH
```
#### `~/.gitconfig.local`
The `~/.gitconfig.local` file 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
[commit]
# Sign commits using GPG.
# https://help.github.com/articles/signing-commits-using-gpg/
gpgsign = true
[user]
name = Sebastian Guevara
email = info@example.com
signingkey = XXXXXXXX
```
#### `~/.vimrc.local`
The `~/.vimrc.local` file it will be automatically sourced after
`~/.vimrc`, thus, allowing its content to add or overwrite the
settings from `~/.vimrc`.
### 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
`setup` script](https://github.com/llstarscreamll/dotfiles/blob/1503cf23ef23f6e31342b140bcd246625160b94f/src/os/setup.sh#L3).
## Update
To update the dotfiles you can either run the [`setup`
script](src/os/setup.sh) or, if you want to just update one particular
part, run the appropriate [`os` script](src/os).
## Acknowledgements
Inspiration and code was taken from many sources, including:
* [Johan Alvarez](https://github.com/llstarscreamll)
[dotfiles](https://github.com/llstarscreamll/dotfiles)
## License
The code is available under the [MIT license](LICENSE.txt).