Files for configuring a terminal environment and other various system settings. Largely centered around macOS, as well as other Unix-like systems. See Github does dotfiles for more info
curl get.darryl.cx | sh && make -C dotfilesSource code for the script is here. Checksums can be found in the tag notes.
The curl method will install everything automatically. This is really useful for quickly setting up a new machine.
You can also manually clone the repository and invoke the Makefile
git clone https://github.com/darrylabbate/dotfiles && make -C dotfiles- Installs Homebrew on macOS and installs all packages defined in the Brewfile.
- Sets Homebrew-installed Bash (4.4+) as the default shell
- Updates macOS and configures preferred system defaults defined in
/macos/defaults.sh - Configures yabai and skhd to run at system startup
- Creates necessary symlinks via GNU Stow
- Runs
/macos/duti/set.sh, which sets defaults handlers/programs for file extensions via duti.
- Symlinks only Bash and Vim configuration files to the home directory using
lncommands. Useful for temporarily configuring a shared computer. Nothing new is installed to the machine, but files may be overwritten since the Makefile recipe passes the-fflag for everylncommand. - Run
make unlinkto remove these symlinks.
All necessary symlinks ( .bash_profile, .vimrc, among others) are managed with GNU Stow (installed with Homebrew). Files you wish to be symlinked to the home directory need to be placed in a folder within ~/dotfiles. Using the stow command from the ~/dotfiles directory will symlink the contents of the folder you choose (/bash, /vim, etc) to the grandparent directory, which is wherever the /dotfiles folder is contained.
Assuming you clone the dotfiles repository in your home directory, executing the commands:
$ cd dotfiles
$ stow bashwill symlink the contents of /bash to the home directory.
You can use the stow command anytime you add a new file to a folder you wish to symlink directly to the home directory. This can all be done without Stow using the ln -s command, but I find GNU Stow with folder management to be cleaner and easier to maintain.
.bash_profile automatically sources configurations defined in the files contained in the /bash/dots folder. Any changes to any existing file, as well as any new files in /bash/dots/ will be loaded into the shell upon opening a new Terminal window or reloading the .bash_profile.