Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cybertk/ckdots
Manage dotfiles across all your devices, even in Docker
https://github.com/cybertk/ckdots
dotfiles
Last synced: 2 months ago
JSON representation
Manage dotfiles across all your devices, even in Docker
- Host: GitHub
- URL: https://github.com/cybertk/ckdots
- Owner: cybertk
- Created: 2010-11-22T05:24:52.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2022-04-24T14:16:30.000Z (over 2 years ago)
- Last Synced: 2024-04-14T23:28:38.616Z (9 months ago)
- Topics: dotfiles
- Language: Shell
- Homepage:
- Size: 431 KB
- Stars: 3
- Watchers: 2
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ckdots
> Manage your dotfiles across all your devices
[![CI Status](http://img.shields.io/travis/cybertk/ck-dots.svg?style=flat)](https://travis-ci.org/cybertk/ckdots)
**ckdots** manages your dotfiles by moving them to a designated **config directory**, then you can simply share this directory across all your devices with your familiar tools, such as OneDrive, Busybox, iCloud Drive, or a git repo.
## Install
To install the **ckdots** and save all your dotfiles at */Dropbox/cli.config/*:
```shell
git clone https://github.com/cybertk/ckdots.git
CKDOTS_CONFIG=/Dropbox/cli.config/ ./ckdots/bin/ckdots init
```Then you can sync the **config directory** */Dropbox/cli.config/* on all your devices, and install **ckdots** on them.
## Getting started
### Move the dotfile to your shared config directory
**ckdots** moves the dotfiles to a designated **config directory**(defaults at *~/.ckdots*) and creates a softlink at
the original place. To save a dotfile, for example, *.gemrc*:```shell
ckdots add .gemrc
```### Show current status of all your dotfiles
```shell
$ ckdots status
Tracked dots:
un-checkout: .cocos/
.docker/
un-checkout: .fastlane/
un-checkout: .gdbinit
un-checkout: .gemrc
.gitconfig
.gnupg/
un-checkout: .greenkeeperrc
un-checkout: .hyper.js
.kube/Untracked dots:
(use "ckdots add ..." to include in what will be managed).Trash/
.anyconnect
.bash_sessions/
```## Command-line Usages
- init, install ckdots on a new machine
- add, save specified dotfile
- checkout, restore previously saved dotfile
- ls, list all saved dotfile
- status, show the current status of dotfiles
- help, print this help## Use in Docker
Create a dedicated home volume
```bash
docker volume create home
```Then install the **ckdots** into home volume with
```
export GITHUB_UESRNAME=xxx
export GITHUB_TOKEN=xxx
export CKCONFIG_REPO=$GITHUB_UESRNAME/ckdots-config
docker run -it --rm -vhome:/root quanlong/ckdots $GITHUB_USERNAME $GITHUB_TOKEN $CKCONFIG_REPO [dots]
```i.e. install *.vim* and *.vimrc/* with
```bash
docker run -it --rm -vhome:/root quanlong/ckdots cybertk $GITHUB_TOKEN cybertk/ckdots-config .vim/ .vimrc
```Then enjoy with your dots environment by attaching the home volume
```
docker run -it --rm -vckdots:/root ubuntu:14.04 /bin/bash --login
```## License
**ckdots** is available under the MIT license. See the LICENSE file for more info.