Skip to content

FabioAntunes/dotfiles

Repository files navigation

Dotfiles

🏩 $HOME is where your dotfiles are

screen shot 2018-03-05 at 23 12 36

screen shot 2018-03-05 at 10 22 11

screen shot 2018-07-03 at 00 18 41

screen shot 2018-07-03 at 00 17 46

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

$ git clone https://github.com/FabioAntunes/dotfiles.git ~/playground/dotfiles --recurse-submodules

Oh btw I'm using some git submodules.

Run the init script

$ 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 🙅, it will also install nvm and powerline fonts.

After all this it will set 🐟 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. 👌

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 packages

If 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.