11 releases
0.1.12 | May 25, 2024 |
---|---|
0.1.10 | Jan 22, 2023 |
0.1.8 | Oct 15, 2022 |
0.1.6 | May 14, 2022 |
#57 in Configuration
69KB
2K
SLoC
dotium
Dot-file management for multiple machines or small teams.
Prerequisites
- Some shared (private) repository folder like:
- Private github/gitlab/bitbucket repository (preferred to have better change control)
- Any sort of file sync: dropbox, owncloud, google-drive, one-drive, ...
- Rust (optional, but recommended)
Installation
With rust
available:
cargo install dotium
Alternatively there is a statically compiled binary on the Releases page. Ensure that the provided checksum checks out before using it:
gunzip dotium.gz
sha256sum -c dotium.sha256sum
chmod 755 dotium
Initialization
To create a basic configuration in ~/.config/dotium
with an age-compatible private key to protect sensitive information.
dotium init
Shell completions
Fish:
dotium completions fish >.config/fish/completions/dotium.fish
Basic concepts
- Any number of dot-files can be created/updated from a dotium-repository
- A dotium-repository is just a folder containing that is supposed to be shared between machines and/or team mates
- The contents in the dotium-repository can be either plain text or age-compatible encrypted
- Therefore a dotium-repository has the concept of a "recipient" (aka user/machine with the necessary keys to decrypt the content)
- Initially the only recipient is the person creating the repository.
- A new user/machine has to create a recipient-request which then has to be approved by anyone who is already a recipient (i.e. has fully access to the repository)
Usage
Initialize a brand new repository
cd <repository folder>
dotium init
or
dotium --repository <repository folder> init-repo
... tbd ...
Dependencies
~26–39MB
~584K SLoC