https://github.com/alebelcor/dotfiles
My dotfiles
https://github.com/alebelcor/dotfiles
dotfiles git homebrew macos nodejs vscode zsh
Last synced: 5 months ago
JSON representation
My dotfiles
- Host: GitHub
- URL: https://github.com/alebelcor/dotfiles
- Owner: alebelcor
- License: mit
- Created: 2017-08-19T00:17:16.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2025-08-16T00:06:06.000Z (10 months ago)
- Last Synced: 2025-08-16T02:29:15.918Z (10 months ago)
- Topics: dotfiles, git, homebrew, macos, nodejs, vscode, zsh
- Language: Shell
- Homepage:
- Size: 311 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# dotfiles
> My dotfiles
## Pre-setup
* `gas-mask/work.hst`: Extended hosts file for work-related hostname mappings. If file does not exist, an empty file will be created
* `git/gitconfig.local.symlink`: Extended Git configuration for private, or work-related stuff
* `git/gitignore.local.symlink`: Extended ignore list for Git, referenced in `gitconfig.local.symlink`
* `tmux/tmux.conf.local.symlink`: Extended Tmux configuration for private, or work-related stuff
## Installation
```sh
mkdir -p ~/projects/dotfiles
cd ~/projects/dotfiles
git clone https://github.com/alebelcor/dotfiles.git .
source scripts/bootstrap
```
### Git-free install
```sh
mkdir -p ~/projects/dotfiles
cd ~/projects/dotfiles
curl --location https://github.com/alebelcor/dotfiles/tarball/master | tar -xz --strip-components 1 --exclude={.editorconfig,.gitattributes,.gitignore,license,readme.md}
source scripts/bootstrap
```
## Usage
Everything is built around "topics".
A "topic" is a folder associated to a specific subject (e.g. `node` for [Node.js](http://nodejs.org/)).
A "topic" will have setup and configuration relevant to the subject like so:
* `topic/path.zsh`: Any file named `path.zsh` is loaded first and is expected to setup `$PATH`
* `topic/*.zsh`: Any files ending in `.zsh` get loaded into your environment
* `topic/completion.zsh`: Any file named `completion.zsh` is loaded last and is expected to set up autocomplete
* `topic/install.sh`: Any file named `install.sh` is executed when you run `scripts/install`. To avoid being loaded automatically, its extension is `.sh`, not `.zsh`
* `topic/*.symlink`: Any file ending in `.symlink` gets symlinked into your `$HOME` when you run `script/bootstrap`
There are other files/folders not related to a specific "topic":
* `bin/`: Anything here will get added to the `$PATH`
* `scripts/`: Contains scripts relevant to the dotfiles installation
* `Brewfile`: A list of command-line utils, apps, and others, that will be installed via [Homebrew](https://brew.sh/), [Homebrew-Cask](https://caskroom.github.io/), and [`mas-cli`](https://github.com/mas-cli/mas)
## Inspired by
* [holman does dotfiles](https://github.com/holman/dotfiles)
* [Mathias’s dotfiles](https://github.com/mathiasbynens/dotfiles)
## License
MIT © Alejandro Beltrán