-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] Use variables in file paths #61
Comments
Currently you could just use the variable itself in the path since it's expanded (well, after running dotter once and restarting the shell I guess)
That'd be the only way of doing it. I'll test if this brings a significant slowdown, if it doesn't then I don't see a reason against this. |
I looked over |
Yeah, if I'm adding access to variables might as well have full handlebars functionality, with handlebars syntax. |
This would be pretty helpful to me. I'd like to do something like:
This will allow me to dynamically get the correct OS files. |
Wouldn't a better solution be to have per package settings like this? In
Out
[zsh.settings]
source_dir = "zsh"
target_dir = "~/.config/zsh"
# Overrides
[zsh.files]
zshrc=".zshrc"
[zsh.files.zprofile]
path="exact"
target="~/.zprofile" There should be no need for scripts and variables for paths this way. It also simplifies the configuration needed. |
Is your feature request related to a problem? Please describe.
I'd like to use variables in dotter's config files themselves. Something like:
and then in
~/.zprofile
too:XDG_CONFIG_HOME="{{config_dir}}"
Describe the solution you'd like
Maybe parse the variables first, then render a handlebars template for each path. Or is that overkill?
Alternatively, maybe new values can be added to
shellexpand
, to be substituted like env vars ($config_dir/zsh/zshrc
).Might need changes upstream.I thinkshellexpand::env_with_context
could be used for this.Describe alternatives you've considered
Run dotter with variables set on the shell for
shellexpand
to use:env XDG_CONFIG_HOME="~/.config" dotter deploy
The text was updated successfully, but these errors were encountered: