My very own dotfiles (intended mostly for when I change computers)
The scripts are just a copy of Holman's dotfiles scripts with a little modification from me.
Here's the important part of Holman's dotfiles scripts:
There's a few special files in the hierarchy.
- bin/: Anything in
bin/
will get added to your$PATH
and be made available everywhere.- Brewfile: This is a list of applications for Homebrew Cask to install: things like Chrome and 1Password and Adium and stuff. Might want to edit this file before running any initial setup.
- topic/*.zsh: Any files ending in
.zsh
get loaded into your environment.- topic/path.zsh: Any file named
path.zsh
is loaded first and is expected to setup$PATH
or similar.- topic/completion.zsh: Any file named
completion.zsh
is loaded last and is expected to setup autocomplete.- topic/*.symlink: Any files ending in
*.symlink
get symlinked into your$HOME
. This is so you can keep all of those versioned in your dotfiles but still keep those autoloaded files in your home directory. These get symlinked in when you runscript/bootstrap
.
I'm not claiming I did much except the addition of symfolder
.
The .symfolder
extension lets you set a folder with that extension and everything inside of it will be symlinked to that dotfolder.
-
topic/*.symfolder: Any folder ending in
*.symfolder
get symlinked into your$HOME
inside of that dotfolder. These get symlinked in when you runscript/bootstrap
.e.g.
mutt.symfolder ﹂accounts ﹂account.account ﹂msmtprc
This means that everything under
mutt.symfolder
will be symlinked to~/.mutt/
. Probably Holman`s script already works this way but I wanted to have a way to differentiate between files and folder contents.
===
After some refactoring I extracted some shared_functionality
to its own script and then I'm must source
ing it where needed.