My personal dotfiles
These are my dotfiles. Use at your own risk.
These are primarily used on Mac OS systems, but might be able to be used on Linux as well.
These dotfiles allow the following Mac OS specific dotfiles to be sourced after all other supported dotfiles:
.path.macos
.env.macos
.alias.macos
.functions.macos
This repository allows the creation and use of work-specific dotfiles. Everything is contained under the $DOTFILES_DIR/work/
directory (which is ignored by this repository). This allows for the two repositories to be maintained individually.
Similar to the structure of this repository, we allow for the following folders:
$DOTFILES_DIR/work/README.md
$DOTFILES_DIR/work/git
$DOTFILES_DIR/work/system
dotfiles
InitializationTo initialize the dotfiles that can be used in these directories, you can simply run:
source ~/dotfiles/bin/create_work_dotfiles.sh
The below files will be preferred over the ones contained within this repository.
$DOTFILES_DIR/work/git/.gitconfig
$DOTFILES_DIR/work/git/.gitignore_global
The banners file(s) need to set the variable BANNER_OUTPUT
.
Upon sourcing all of the .banner
files, this variable is printed via:
printf "$BANNER_OUTPUT"
$DOTFILES_DIR/system/.banner
$DOTFILES_DIR/system/.banner_*
$DOTFILES_DIR/work/system/.banner
$DOTFILES_DIR/work/system/.banner
Very simply, because I wanted a different banner for my work environment than my personal. The current implementation allows this in a fairly trivial manner.
dotfiles
command$ dotfiles help
Usage: dotfiles <command>
Commands:
clean Clean up caches (brew)
dock Apply macOS Dock settings
edit Open dotfiles in IDE (code) and Git GUI (stree)
help This help message
macos Apply macOS system defaults
update Update packages and pkg managers (OS, brew, npm, gem)
I borrowed (and tweaked) a fair bit from:
Additionally, the dotfiles community happens to have a TON of great examples of other peoples dotfiles
.