📟 Simple bork-based dotfile setup for both OS X and Linux systems
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
borkfiles
configs
hostnames/example.hostna.me
opt
.gitignore
LICENSE
README.md
dotfiles

README.md

dotfiles

Bork-based dotfile setup for Mac and Linux systems that is really simple and easy to understand.

iTerm Sublime Text
(click screenshot for a demo execution)

Features

Installation

  1. Make sure to install homebrew and the following packages:
    brew install bork
  2. Fork this repository:
    git clone https://github.com/frdmn/dotfiles ~/.dotfiles
  3. Run the bootstrap script to initially install and setup the dotfiles:
    ~/.dotfiles/dotfiles

Available commands

# Install/update the dotfiles
$ dotfiles

# Install/update one specific borkfile, located in borkfiles/
$ dotfiles <borkfile>

Information

Explanation of the directories:

./bork
└── This folder includes the bork git repository which gets updated as
    soon as you update the the dotfiles.

./borkfiles
└── Includes the actual bork files, seperated to allow a condition based
    installation (system architecture, OS type).

./borkfiles/_.bork
└── This is the bootstrapping one, which applies the other Borkfiles in
    the same folder.

./configs
└── Contains all of your configuration files which gets symlinked into $HOME
    as ".$FILE". So basically, your actual dotfiles (zshrc, vimrc, gitconfig).

./configs/bash_vault
└── Secret stuff that you rather don't track in the git repo.

./hostnames
└── This folder could contain hostname specific (per host) configurations
    which gets processed during the execution of `dotfiles` if there is a
    folder that matches the current full (`hostname -f`) hostname.
./hostnames/example.hostna.me/borkfiles
└── If this folder contains brokfiles (files ending in ".bork"), they are
    getting executed during the `dotfiles` process.
./hostnames/example.hostna.me/configs
└── This folder could contain custom dotfile configurations that you only
    need on one specific host. A custom `.vimrc`? Just drop a file called
    `vimrc` in here and you are good to go. (If there is already a global one
    from ./configs with the same name, it will overwrite the global one).
./hostnames/example.hostna.me/includes
└── Dotfiles which get sourced by your Bash/ZSH shell on each login.

./opt
└── Specific files which gets symlinked into non-$HOME folders. Used by
    atom.bork.

./zsh
└── ZSH dependencies and plugins like the prompt, the zsh-syntax-highlighting.
    This folder gets symlinked into $HOME/.zsh and is used in ./configs/zshrc.

Credits

License

MIT

Version

1.0