https://github.com/fabioantunes/dotfiles
This is my dotfiles repo, feel free to look around and give some suggestions.
https://github.com/fabioantunes/dotfiles
backup brew brewfile dotfiles fish fish-shell fisherman hacktoberfest javascript neovim node nodejs vim
Last synced: 21 days ago
JSON representation
This is my dotfiles repo, feel free to look around and give some suggestions.
- Host: GitHub
- URL: https://github.com/fabioantunes/dotfiles
- Owner: FabioAntunes
- License: mit
- Created: 2017-12-19T18:41:55.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-10-15T15:26:50.000Z (about 1 year ago)
- Last Synced: 2025-01-12T23:50:15.802Z (9 months ago)
- Topics: backup, brew, brewfile, dotfiles, fish, fish-shell, fisherman, hacktoberfest, javascript, neovim, node, nodejs, vim
- Language: Lua
- Homepage:
- Size: 313 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dotfiles
:love_hotel: `$HOME` is where your dotfiles are
![]()
![]()
![]()
## Installation
#### Clone this repo
First step, clone this repo, because I'm lazy and these are my dotfiles, they need to be placed in `~/playground/dotfiles```` bash
$ git clone https://github.com/FabioAntunes/dotfiles.git ~/playground/dotfiles --recurse-submodules
```Oh btw I'm using some git submodules.
### Run the init script
``` bash
$ cd ~/playground/dotfiles
$ bash init.sh
```It will ask for your user and email to set your git global config. This will install everything in the `Brewfile` which will take shit loads of time :no_good:, it will also install `nvm` and `powerline fonts`.
After all this it will set :fish: as your default shell, and it will start the `init.fish` script
### NOTE
Some operations require sudo permissions, your password will be asked a couple of times and sent to a random server so I can take over all your data. :ok_hand:### Global functions
After running both the `init.sh` and `init.fish` there will be a couple functions available globally.
#### yolo
This is the main function that allows us run all the commands related to dotfiles, it has autocompletion enabled just type `yolo -` and press tab.
If no args are passed to the `yolo` function, all the options will be executed in this order:1. create symlinks, any existing symlinks will be preserved.
2. install fisher
3. install vim plug Plugins
4. install global npm packagesIf we use the `-f/--force` it will run all the options above, but won't preserve any symlinks
The next args allows you to run the function in a granular way, feel free to combine multiple args
* `-f/--force` - it will overwrite existing symlinks
* `-s/--symlink` - create symlinks, this option will ignore already created symlinks. If a regular file already exists, it will be renamed aka backup file. Combine with the `-f/--force`
* `-n/--node` - install global packages.
* `-m/--fisher` - install fisher and it's plugins.
* `-v/--vimplug` - install vim and nvim Plugins.At the end it will output all the symlinks created, any errors creating symlinks and any backup files created.
### Post install
All the paths should direct you to the dotfiles! There's a `post_exec` function inside the `config.fish`, that listens for any `brew install` and `brew cask install`. Whenever that happens, a Brewfile is dumped.
After that a check on the git files is done, if the only file changed is the Brewfile, a commit is created and pushed automatically (new files are automatically ignored).
The message will be `Updated Brewfile :beer:`. You can change this by setting `$DOTFILES_MSG` to whatever you want.