manage dotfiles' parameters from your env
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-18 00:34:11 +02:00
src chore: add documetation TODOs 2026-08-18 00:34:11 +02:00
.gitignore feat: init commit 2026-07-05 11:48:50 +01:00
Cargo.lock chore: correct remote parameter 2026-08-18 00:24:03 +02:00
Cargo.toml chore(version): 0.2.0 2026-08-18 00:20:17 +02:00
CHANGELOG.md chore(version): 0.2.0 2026-08-18 00:20:17 +02:00
cog.toml chore: correct remote parameter 2026-08-18 00:24:03 +02:00
CONTRIBUTING.md style: limit line length 2026-08-15 18:17:10 +02:00
LICENSE docs: rename LICENSE and fix lastname in copyright 2026-07-06 11:40:22 +01:00
prek.toml chore: add prek 2026-08-15 19:16:30 +02:00
README.md docs: update README.md 2026-08-18 00:30:43 +02:00
uebersetzer.default.toml feat: init implementation 2026-07-05 20:25:31 +01:00

uebersetzer

uebersetzer is a daemon written in Rust that manages your configuration files' parameters according to your environment, using Tera templates that you define.

Motivation

I wanted my dotfiles to reference environment variables for a consistent style across my desktop, so that a single change in my .env file propagates to every config that uses those variables.

Features

  • Universal: works on any file in your config
  • Configurable: edit uebersetzer.toml
  • Capable templating engine: thanks to Tera

preparing ueber files

For each file containing .ueber under config_path, uebersetzer writes the rendered output to the same path with the .ueber extension removed.
For example, config.ueber.yaml -> config.yaml.

  1. copy config files and add ueber extension (example: config.yaml -> config.yaml.ueber)
  2. set env variable placeholders as {{ var_name }} in the new ueber file

Configuration

Configuration is done by editing uebersetzer.toml. The file is searched under XDG_CONFIG_DIRS.

cp uebersetzer.default.toml ~/.config/uebersetzer.toml

Note

  • If the target file already exists, uebersetzer skips it by default. Set force_write = true to replace existing target files.

  • Set recursive = true to search in all files unders config_path