Extensible dotfiles for Linux and Mac.
zshoh-my-zshpowerlevel10kasdfze: opens the text editor configured in theEDITORvariable.c <tab>, go to my code folders.update: updates software (runs all*/update.shfiles).pubkey: copy~/.ssh/id_rsa.pubto clipboard.
git clone https://github.com/rafaeleyng/dotfiles.git ~/.dotfiles && cd ~/.dotfiles
./installNotable folders:
features: each subfolder contains configuration for some feature. Notable examples:bin/: files are added to$PATHand made available everywhere, and are executed in a child process.functions/: files are added to$fpathand made available everywhere, and are executed in the current process.
*/install.sh: files that are run when you run./install.*/update.sh: files that are run when you run./update.*/*.symlink: files that get symlinked (without the*.symlinkextension) into your$HOMEwhen you run./install.*/path.zsh: files that get loaded into your environment when a shell is loaded, before*/index.zshare loaded. These files should only set path variables.*/index.zsh: files that get loaded into your environment when a shell is loaded.
Combined with the patterns above, files with the added suffix .macos or .linux will only be applied to when running on that OS.
This project supports extensions, so you can isolate specifics to a separate repo. For instance, using different extensions in different machines.
Using extensions:
# within the dotfiles
cd extensions
# add as many extensions projects you want
git clone https://github.com/<username>/<dotfiles-extension-personal>.git
git clone https://github.com/<username>/<dotfiles-extension-work>.git
# go back to dotfiles
cd ..
# run this script to:
# - install any dependencies (`install.sh` files) defined in the extensions;
# - link `*.symlink` files from the extensions to the home directory.
./installInside the extensions you can have any of the special files, and they will be processed accordingly.
docker-compose up- https://github.com/holman/dotfiles: inspiration.
- holman/dotfiles#70: I renamed of the variable
ZSHtoDOTFILES, to avoid conflicts between dotfiles and oh-my-zsh. - https://github.com/ryanb/dotfiles/blob/master/oh-my-zsh/custom/plugins/rbates/rbates.plugin.zsh:
cfunction.