Graham Helton 22064238d6 | 2 years ago | |
---|---|---|
README.md | 2 years ago | |
autodeploy.sh | 2 years ago | |
autodeploy_ascii.png | 2 years ago | |
install.txt | 2 years ago |
README.md
AutoDeploy
AutoDeploy is a tool written in 100% bash that allows for extensible synchronization of configuration files, auto installation of programs your commonly use, and allows for git-like pull/commit. This is intended to be extensible to allow for you to quickly push out a set of configuration files, and have them be pulled into any other machine.
Goals
I work on so many different machines that keeping my configuration files and the versions of the software I use in sync between many machines is a painstaking task. Autodeploy should help with the following:
- Easily moving all configuraiton files (
~/.vimrc
,~/.config/i3/config
,~/.xprofile
,etc) between multiple machines - 100% bash
- Trufflehog-like functionality for configuration files being stored in public places (IE: Github)
Features
- Pulling down of files from remote repository
- Pushing of files to a remote repository
- Staging of files defined in
global_dotFiles.conf
into~/.config/autodeploy/$(hostname)_config/
- Distributing config files in
$(hostname)_config/
to their correct locations - Backing up of local configuration files to
~/.config/autodeploy/$(hostname)_config/backup/
before overwriting them - Installing of any application defined in
global_applications
- Editing configuration files in
.config/autodeploy
through the autodeploy tool
Documentation
global_applications.conf
-> The names of applications you wish to install via apt
neovim
mupdf
curl
global_config.conf
-> Defines variables such as your remote repository, your config folder name, etc
config_name=thinkpad
remote_repo=http://github.com/grahamhelton/configurationFiles
global_dotFiles.conf
-> Dot files you'd want on any system
.tmux
.vimrc