Tsdm manages your dotfiles without symlinks , like so:
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.
There are a few commands in tsdm:
-h
<- show help. Accepts: nothinghelp
<- show help. Accepts: nothing-v
<- show the tsdm version. Accepts: nothingversion
<- show the tsdm version. Accepts: nothingupdate
<- run a git pull on the current dotfiles. Accepts: nothingget
<- 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
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 [email protected]
**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