mirror of https://github.com/Marcusk19/dotctl
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
remove some old things like Dockerfile and sandbox/clean scripts, not being used for development |
1 year ago | |
|---|---|---|
| .github/workflows | 2 years ago | |
| cmd | 1 year ago | |
| test | 1 year ago | |
| tools | 1 year ago | |
| .gitignore | 2 years ago | |
| .goreleaser.yaml | 2 years ago | |
| .pre-commit-config.yaml | 2 years ago | |
| LICENSE | 2 years ago | |
| Makefile | 1 year ago | |
| README.md | 1 year ago | |
| go.mod | 1 year ago | |
| go.sum | 1 year ago | |
| main.go | 1 year ago | |
README.md
Dotctl
dotfile management
About
Dotctl is a tool to help you easily manage your dotfiles and sync them across separate machines using
git. It creates a dotfiles subdirectory in the user's $HOME and provides simple commands to add
and symlink config files/directories to the central dotfiles directory.
Installation
Build From Source
Prerequisites
clone the repo and run script to build binary and copy it to your path
git clone https://github.com/Marcusk19/dotctl.git
cd dotctl
make install
Usage
# init sets up the config file and directory to hold all dotfiles
dotctl init
# add a config directory for dotctl to track
dotctl add ~/.config/nvim
# create symlinks
dotctl link
Syncing to git
Warning: using the sync command can have some unexpected behavior, currently the recommendation is to manually track the dotfiles with git
dotctl comes with a sync command that performs the following operations for the dotfiles directory:
- pulls changes from configured upstream git repo
- commits and pushes any changes detected in the dotfile repo
set the upstream repo using the -r flag or manually edit the config at $HOME/dotfiles/dotctl/config.yaml
example usage:
dotctl sync -r https://github.com/example/dotfiles.git