Skip to content

One-time templates/"seed" files #435

Open
@xeruf

Description

Is your feature request related to a problem? Please describe.

I have some config files which I want to setup initially on a new device (e.g. Musescore config) but then not track the resulting configuration changes, as these will be device-specific.

Describe the solution you'd like

A third option of alternative files/templates, a type of template maybe called "seed", which will simply copy over to the proper filename only if that file does not exist, so .config/doom/user.el##seed.esh would be processed into .config/doom/user.el upon updating only if the latter does not exist.

Whether the seeding uses template processors or alternative file conditions I don't really mind.

Describe alternatives you've considered

I currently use the following workaround in my bootstrap:

template() {
	local dir=$(dirname "$1")
	local file=${1/.template}
	test -d "$dir" && ! test -f "$file" &&
		cp -iv "$1" "$file"
}
template "$XDG_CONFIG_HOME/doom/user.template.el"
template "$XDG_CONFIG_HOME/MuseScore/MuseScore3.template.ini"
...

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions