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 method (easiest)
$ curl get.darryl.cx | sh $ cd ~/dotfiles $ make
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
$ git clone https://github.com/rootbeersoup/dotfiles.git $ cd dotfiles $ make
- 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
- Configures yabai and skhd to run at system startup
- Creates necessary symlinks via GNU Stow
/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 every
make unlinkto remove these symlinks.
How it Works
All necessary symlinks (
.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 (
/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 bash
will 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