/tsdm

The Simple Dotfile Manager

Primary LanguageGoMIT LicenseMIT

tsdm

Go Report Card Lines of code

(The Simple Dotfile Manager)

Architecture

Tsdm manages your dotfiles without symlinks , like so:

architecture svg

You configure how tsdm manages your dotfiles , with a tsdmrc.yml file in your dotfile repo.

Example:

reqVer: 0.1 # what is the minimum tsdm version these dotfiles need
windows: # OS block. The following instructions will only be executed on this OS
  files:
     - pwsh.txt: # name of the file.This is case senstive , tsdm parses the names of the files in dotfile directory , and looks for the data in the rc file 
        name: "powershell note" # this is used for info prinintg
        location: ~/foo/bar/pwsh.txt # where to copy it to on sync. Yes , it supports tilda's
        commentary: "this is optional , TSDM doesn't use it , its good for readability"
# etc. OS blocks

for a real world example , check my dotfiles.

Commands

There are a few commands in tsdm:

  • -h <- show help. Accepts: nothing
  • help <- show help. Accepts: nothing
  • -v <- show the tsdm version. Accepts: nothing
  • version <- show the tsdm version. Accepts: nothing
  • update <- run a git pull on the current dotfiles. Accepts: nothing
  • get <- get a new set of dotfiles , replacing the old one.Accepts: A URL including the protocol(https) Ex: https://github.com/pandademic/tsdm-example
  • sync <- sync the dotfiles to the correct locations. Accepts: nothing

Installation

You have 3 choices:

  • Build it yourself.We use task, instead of make. Just run task to see all avilable tasks.

  • Download a prebuild binary from github releases.

  • or run go install tsdm@[version] from the command line , where [version] is the released version , ex: go install tsdm@0.1

**If your building from source , do note that this branch(master) tends to be stable , and the next branch is where the development for the next release is done. Though, bugfixes will be merged from both.There is no guarntee of stability on next

Licence

MIT