![image](https://private-user-images.githubusercontent.com/63556086/357893503-478ad40c-8b66-447e-b284-4964442d4bea.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxODEzNzMsIm5iZiI6MTczOTE4MTA3MywicGF0aCI6Ii82MzU1NjA4Ni8zNTc4OTM1MDMtNDc4YWQ0MGMtOGI2Ni00NDdlLWIyODQtNDk2NDQ0MmQ0YmVhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDA5NTExM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc5MGY4OWU3OTNhNWY4ZTU2YTAyNjVkMTEzZGFhYTE2YWE1Y2JiMDFhZjNlODg4YTNmNTJkYjMxODlmMTM5MDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.zdPlexy-r6volYwikO1IoV33g0LBB3Zec2vzN_OT2N8)
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