# General trunc of my config ## Why a general trunc ? Some people at school are using my config and don't agree with all the modifications I want to do so I've got 2 options : - I don't do what I want to not bother them - I do it because I really want it, sorry guys The thing is, when I find something fun which can help with school's Mac, they might need to update and take the (not wanted) modifications anyway. ## Solution I split my config in 2 - global stuff for everyone - personal stuff This repo is the global one ## What did it provide ? - Some usefull alias - Basic configuration for zsh - Install script that help at school with zfs change ## How to use ### Clone it First, you need to clone it in "$HOME/.config_common" ```bash git clone https://github.com/Geam/config.git $HOME/.config_common ``` ### Run it Then run it ```bash $HOME/.config_common/install.sh <options> ``` ### Options - -u : Update the symbolic link - -f|--force : Doesn't ask question, do it - -p|--personal <url_to_personal_git_repo> : you need to pass the url to your personal config repo and it will clone it - -b : update brew, tap repo if any and install applications if any - -h|--help : display help ### Personal config Well, it's just a repo with your files inside. #### Specific files - brew_apps : contain application you would like to install with brew, one application per line - brew_tap : contain list of depot to tap with brew, one depot per line - install.sh : If you provied a install.sh in your personal repo, the global install.sh will run it - ln : the global install.sh will make symbolic link, cf "ln file" below - prompt : it should only contain the prompt you would like to use, if not provied, the general one will be use - zshrc : the global zshrc will source it at the end of it's own execution #### ln file In this file, you can write the symlink you want to create. Those symlink will be updated by the global install.sh if you've got a zfs change. The syntax is as follow : ```text <file_to_symlink>:<name_of_symlink> ``` If those name begin with '/', they will be used as given, if not, those names will be prefixed. In the second case, the command that will be run is the following : ```bash ln -s $HOME/.config_personal/<file_to_symlink> $HOME/<name_of_symlink> ``` Note that every time you start the install script with the -u flag, the symblink will be updated #### Usage example ##### Installation with personal configuration ```bash cd git clone git@github.com:Geam/config_common.git .config_common cd .config_common ./install.sh -u -b -f -p git@github.com:Geam/config_personal.git ``` ##### Update symbolic link ```bash cd $HOME/.config_common ./install.sh -u -f ``` ## Changelog - 12/12/2015 : - correct few bug in install.sh - correct typo (personnal instead of personal)