Skip to main content

dot.yaml

Sections

The dot.yaml file consists of four optional keys:

keyrequirementfunction
linksoptionalDefines where to link which dotfile
installsoptionalDefines the install command and install dependencies.
dependsoptionalDefines dependencies this application needs to work.

The links section specifies where the dotfiles should be linked.

It consists of multiple key: value pairs where the key is the filename of the dotfile and the value is the link path.

Example: vscode/dot.yaml
...

links:
keybindings.json: ~/AppData/Roaming/Code/User/keybindings.json
settings.json: ~/AppData/Roaming/Code/User/settings.json

installs

The installs section contains the install command and optional install dependencies.

It can either be a string containing the install command or have two sub keys.

keyrequirementfunction
cmdrequiredContains the install command.
dependsoptionalContains an array of dependencies.
Example: nodejs/dot.yaml
...

installs:
cmd: scoop install nodejs
depends:
- scoop
Example: scoop/dot.yaml
...

installs: iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
note

The command can also be set to false. This overwrites the value set in the defaults dots.yaml file.

depends

The depends section contains an array of dependencies needed for the application to work correctly.

These dependencies will also be installed when the application is installed.

Example: zsh/dot.yaml
...

depends:
- starship

Nesting

If you have dots nested in subdirectories dependencies need to specify them as a path.

This can either be a path relative to the current dot or an absolute path (the dotfiles repo is used as root).

Example: Directory layout
├── some
│ └── thing
│ └── nested
│ └── dot.yaml
└── other
└── directory
└── dot.yaml
Example: relative path "some/thing/nested/dot.yaml"
depends:
- ../../other/directory
Example: absolute path "editors/vscode/dot.yaml"
depends:
- /other/directory