Inline Templates
Yolk is able to run the template modifications on the file itself, allowing you to set templated values while keeping the template directly in the same file.
Learn about templating →Yolk is a cross platform dotfile management tool with a unique spin on templating, sitting somewhere in between GNU Stow and chezmoi.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-installer.sh | sh
cargo install yolk_dots --locked --profile=dist
cargo binstall yolk_dots
curl -LO https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-x86_64-unknown-linux-gnu.tar.xz
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-installer.sh | sh
cargo install yolk_dots --locked --profile=dist
cargo binstall yolk_dots
curl -LO https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-x86_64-unknown-linux-musl.tar.xz
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-installer.sh | sh
cargo install yolk_dots --locked --profile=dist
cargo binstall yolk_dots
brew install elkowar/tap/yolk
curl -LO https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-aarch64-apple-darwin.tar.xz
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-installer.sh | sh
cargo install yolk_dots --locked --profile=dist
cargo binstall yolk_dots
brew install elkowar/tap/yolk
curl -LO https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-x86_64-apple-darwin.tar.xz
irm https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-installer.ps1 | iex
cargo install yolk_dots --locked --profile=dist
curl -LO https://github.com/elkowar/yolk/releases/download/v1.3.0/yolk_dots-x86_64-pc-windows-msvc.zip
Yolk allows you to use simple templates in your configuration files without having to worry about keeping a separate template file and the generated config file in sync.
This is achieved through a design that allows all templates to be included inside comments in your actual configuration file.
Read the full documentation →# Use a different font on one host
# {% if SYSTEM.hostname == "epic-desktop" %}
font="Fira Code"
# {% else %}
#<yolk> font="Iosevka"
# {% end %}
[colors]
# Load your colors from your yolk configuration
bg="#282828" # {< replace_color(data.colors.bg) >}
fg="#ebdbb2" # {< replace_color(data.colors.fg) >}
Yolk is able to run the template modifications on the file itself, allowing you to set templated values while keeping the template directly in the same file.
Learn about templating →
Yolk template expressions and configuration are written in the
Rhai scripting language. You can provide custom data
to use in your templates via the yolk.rhai file in your yolk directory,
which allows you to fetch data dynamically from your system, or reference different
static data depending on your system.
Given that the concrete files in use on your system may be different across machines, adding those to version control directly would result in frequent merge conflicts. Yolk solves this by only committing a canonical version of your templates, generated right before you commit. The version of your configuration seen in git is generated from a consistent, stable context.
Read the git workflow docs →Yolk can lay your eggs anywhere you'll need them.