Dotfiles are used to customize your system. The “dotfiles” name is derived from the configuration files in Unix-like systems that start with a dot (e.g. .bash_profile and .gitconfig). For normal users, this indicates these are not regular documents, and by default are hidden in directory listings. For power users, however, they are a core tool belt. Source
.
├── .meta/
├── .misc/
├── profiles/
│ ├── default
│ └── [more-profile]
├── configs/
│ ├── zsh.yaml
│ ├── neovim.yaml
│ └── [more-config]
├── os/
│ ├── macos
│ └── [more-os]
└── packages/
├── zsh/
├── nvim/
└── [other-packages]
A config
is a .yaml
file similar to dotbot's install.conf.yaml
.
This is a set of instruction and directive to install your dotfiles
(linking, cleaning symlinks, running shell commands, etc).
Example:
# ./configs/default.yaml
- link:
$HOME/.config/nvim: nvim
$HOME/.config/tmux: tmux
This setup will create a symlink from ./nvim
(on the root dir) to $HOME/.config/nvim
a profile is a text file listing a set of config
.
You can make each profile a machine that have different configs attached to it.
Example:
# ./profiles/linux
default
xorg
kde
# ./profiles/macos
default
brew
A directory which contains all of the profile
A script to install configurations based on a profile defined in ./profiles
.
Usage:
$ ./install-profile [some-profile]
A script to install configurations based on a config defined in ./configs
.
Usage:
$ ./install-standalone [some-config] [other-config]
Note:
- Multiple argument is supported if you want to install multiple config from
./configs