Release 2.5.0
Update version number and update documentation * Support for transcrypt (#197) * Support ESH templates (#220) * Preserve file mode of template (#193) * Fish shell completions (#224) * Fix alt processing when worktree is `/` (#198) * Assert config directory if missing (#226, #227) * Documentation improvements (#229)
This commit is contained in:
parent
4ff12c7125
commit
7628a1b61d
7 changed files with 73 additions and 32 deletions
8
CHANGES
8
CHANGES
|
@ -1,3 +1,11 @@
|
||||||
|
2.5.0
|
||||||
|
* Support for transcrypt (#197)
|
||||||
|
* Support ESH templates (#220)
|
||||||
|
* Preserve file mode of template (#193)
|
||||||
|
* Fish shell completions (#224)
|
||||||
|
* Fix alt processing when worktree is `/` (#198)
|
||||||
|
* Assert config directory if missing (#226, #227)
|
||||||
|
* Documentation improvements (#229)
|
||||||
2.4.0
|
2.4.0
|
||||||
* Support multiple keys in `yadm.gpg-recipient` (#139)
|
* Support multiple keys in `yadm.gpg-recipient` (#139)
|
||||||
* Ensure all templates are written atomically (#142)
|
* Ensure all templates are written atomically (#142)
|
||||||
|
|
38
CONTRIBUTORS
38
CONTRIBUTORS
|
@ -2,28 +2,32 @@ CONTRIBUTORS
|
||||||
|
|
||||||
Tim Byrne
|
Tim Byrne
|
||||||
Martin Zuther
|
Martin Zuther
|
||||||
Ross Smith II
|
Jan Schulz
|
||||||
|
Jonathan Daigle
|
||||||
|
Tin Lai
|
||||||
Espen Henriksen
|
Espen Henriksen
|
||||||
Cameron Eagans
|
Cameron Eagans
|
||||||
Klas Mellbourn
|
Klas Mellbourn
|
||||||
|
Ross Smith II
|
||||||
|
Tomas Cernaj
|
||||||
|
jonasc
|
||||||
|
Sébastien Gross
|
||||||
David Mandelberg
|
David Mandelberg
|
||||||
Daniel Gray
|
Daniel Gray
|
||||||
Jan Schulz
|
|
||||||
Siôn Le Roux
|
|
||||||
Stig Palmquist
|
|
||||||
Sébastien Gross
|
|
||||||
Thomas Luzat
|
|
||||||
Tomas Cernaj
|
|
||||||
Uroš Golja
|
|
||||||
con-f-use
|
|
||||||
japm48
|
|
||||||
Brayden Banks
|
|
||||||
jonasc
|
|
||||||
Daniel Wagenknecht
|
|
||||||
Franciszek Madej
|
|
||||||
Mateusz Piotrowski
|
|
||||||
Paraplegic Racehorse
|
Paraplegic Racehorse
|
||||||
Patrick Hof
|
japm48
|
||||||
Russ Allbery
|
Siôn Le Roux
|
||||||
|
Mateusz Piotrowski
|
||||||
|
Uroš Golja
|
||||||
Satoshi Ohki
|
Satoshi Ohki
|
||||||
|
Franciszek Madej
|
||||||
|
Daniel Wagenknecht
|
||||||
|
Stig Palmquist
|
||||||
|
Patrick Hof
|
||||||
|
con-f-use
|
||||||
Sheng Yang
|
Sheng Yang
|
||||||
|
Tim Condit
|
||||||
|
Thomas Luzat
|
||||||
|
Russ Allbery
|
||||||
|
Brayden Banks
|
||||||
|
Alexandre GV
|
||||||
|
|
|
@ -42,7 +42,7 @@ Features, usage, examples and installation instructions can be found on the
|
||||||
[master-badge]: https://img.shields.io/travis/com/TheLocehiliosan/yadm/master.svg?label=master
|
[master-badge]: https://img.shields.io/travis/com/TheLocehiliosan/yadm/master.svg?label=master
|
||||||
[master-commits]: https://github.com/TheLocehiliosan/yadm/commits/master
|
[master-commits]: https://github.com/TheLocehiliosan/yadm/commits/master
|
||||||
[master-date]: https://img.shields.io/github/last-commit/TheLocehiliosan/yadm/master.svg?label=master
|
[master-date]: https://img.shields.io/github/last-commit/TheLocehiliosan/yadm/master.svg?label=master
|
||||||
[obs-badge]: https://img.shields.io/badge/OBS-v2.4.0-blue
|
[obs-badge]: https://img.shields.io/badge/OBS-v2.5.0-blue
|
||||||
[obs-link]: https://software.opensuse.org//download.html?project=home%3ATheLocehiliosan%3Ayadm&package=yadm
|
[obs-link]: https://software.opensuse.org//download.html?project=home%3ATheLocehiliosan%3Ayadm&package=yadm
|
||||||
[releases-badge]: https://img.shields.io/github/tag/TheLocehiliosan/yadm.svg?label=latest+release
|
[releases-badge]: https://img.shields.io/github/tag/TheLocehiliosan/yadm.svg?label=latest+release
|
||||||
[releases-link]: https://github.com/TheLocehiliosan/yadm/releases
|
[releases-link]: https://github.com/TheLocehiliosan/yadm/releases
|
||||||
|
|
2
yadm
2
yadm
|
@ -20,7 +20,7 @@ if [ -z "$BASH_VERSION" ]; then
|
||||||
[ "$YADM_TEST" != 1 ] && exec bash "$0" "$@"
|
[ "$YADM_TEST" != 1 ] && exec bash "$0" "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION=2.4.0
|
VERSION=2.5.0
|
||||||
|
|
||||||
YADM_WORK="$HOME"
|
YADM_WORK="$HOME"
|
||||||
YADM_DIR=
|
YADM_DIR=
|
||||||
|
|
2
yadm.1
2
yadm.1
|
@ -1,5 +1,5 @@
|
||||||
.\" vim: set spell so=8:
|
.\" vim: set spell so=8:
|
||||||
.TH yadm 1 "6 February 2020" "2.4.0"
|
.TH yadm 1 "9 August 2020" "2.5.0"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
|
|
||||||
|
|
51
yadm.md
51
yadm.md
|
@ -34,6 +34,8 @@
|
||||||
|
|
||||||
yadm git-crypt [ options ]
|
yadm git-crypt [ options ]
|
||||||
|
|
||||||
|
yadm transcrypt [ options ]
|
||||||
|
|
||||||
yadm upgrade
|
yadm upgrade
|
||||||
|
|
||||||
yadm introspect category
|
yadm introspect category
|
||||||
|
@ -101,8 +103,8 @@
|
||||||
user.
|
user.
|
||||||
|
|
||||||
config This command manages configurations for yadm. This command
|
config This command manages configurations for yadm. This command
|
||||||
works exactly they way git-config(1) does. See the CONFIGURA-
|
works exactly the way git-config(1) does. See the CONFIGURATION
|
||||||
TION section for more details.
|
section for more details.
|
||||||
|
|
||||||
decrypt
|
decrypt
|
||||||
Decrypt all files stored in $HOME/.config/yadm/files.gpg. Files
|
Decrypt all files stored in $HOME/.config/yadm/files.gpg. Files
|
||||||
|
@ -185,6 +187,15 @@
|
||||||
can be disabled by setting the configuration yadm.auto-perms to
|
can be disabled by setting the configuration yadm.auto-perms to
|
||||||
"false".
|
"false".
|
||||||
|
|
||||||
|
transcrypt options
|
||||||
|
If transcrypt is installed, this command allows you to pass
|
||||||
|
options directly to transcrypt, with the environment configured
|
||||||
|
to use the yadm repository.
|
||||||
|
|
||||||
|
transcrypt enables transparent encryption and decryption of
|
||||||
|
files in a git repository. You can read
|
||||||
|
https://github.com/elasticdog/transcrypt for details.
|
||||||
|
|
||||||
upgrade
|
upgrade
|
||||||
Version 2 of yadm uses a different directory for storing your
|
Version 2 of yadm uses a different directory for storing your
|
||||||
configurations. When you start to use version 2 for the first
|
configurations. When you start to use version 2 for the first
|
||||||
|
@ -495,23 +506,32 @@
|
||||||
most *nix systems. To use this processor, specify the value of
|
most *nix systems. To use this processor, specify the value of
|
||||||
"default" or just leave the value off (e.g. "##template").
|
"default" or just leave the value off (e.g. "##template").
|
||||||
|
|
||||||
j2cli To use the j2cli Jinja template processor, specify the value of
|
ESH ESH is a template processor written in POSIX compliant shell. It
|
||||||
|
allows executing shell commands within templates. This can be
|
||||||
|
used to reference your own configurations within templates, for
|
||||||
|
example:
|
||||||
|
|
||||||
|
<% yadm config mysection.myconfig %>
|
||||||
|
|
||||||
|
To use the ESH template processor, specify the value of "esh"
|
||||||
|
|
||||||
|
j2cli To use the j2cli Jinja template processor, specify the value of
|
||||||
"j2" or "j2cli".
|
"j2" or "j2cli".
|
||||||
|
|
||||||
envtpl To use the envtpl Jinja template processor, specify the value of
|
envtpl To use the envtpl Jinja template processor, specify the value of
|
||||||
"j2" or "envtpl".
|
"j2" or "envtpl".
|
||||||
|
|
||||||
|
|
||||||
NOTE: Specifying "j2" as the processor will attempt to use j2cli or
|
NOTE: Specifying "j2" as the processor will attempt to use j2cli or
|
||||||
envtpl, whichever is available.
|
envtpl, whichever is available.
|
||||||
|
|
||||||
If the template processor specified is available, templates will be
|
If the template processor specified is available, templates will be
|
||||||
processed to create or overwrite files.
|
processed to create or overwrite files.
|
||||||
|
|
||||||
During processing, the following variables are available in the tem-
|
During processing, the following variables are available in the tem-
|
||||||
plate:
|
plate:
|
||||||
|
|
||||||
Default Jinja Description
|
Default Jinja or ESH Description
|
||||||
------------- ------------- --------------------------
|
------------- ------------- --------------------------
|
||||||
yadm.class YADM_CLASS Locally defined yadm class
|
yadm.class YADM_CLASS Locally defined yadm class
|
||||||
yadm.distro YADM_DISTRO lsb_release -si
|
yadm.distro YADM_DISTRO lsb_release -si
|
||||||
|
@ -520,10 +540,10 @@
|
||||||
yadm.user YADM_USER id -u -n
|
yadm.user YADM_USER id -u -n
|
||||||
yadm.source YADM_SOURCE Template filename
|
yadm.source YADM_SOURCE Template filename
|
||||||
|
|
||||||
NOTE: The OS for "Windows Subsystem for Linux" is reported as "WSL",
|
NOTE: The OS for "Windows Subsystem for Linux" is reported as "WSL",
|
||||||
even though uname identifies as "Linux".
|
even though uname identifies as "Linux".
|
||||||
|
|
||||||
NOTE: If lsb_release is not available, DISTRO will be the ID specified
|
NOTE: If lsb_release is not available, DISTRO will be the ID specified
|
||||||
in /etc/os-release.
|
in /etc/os-release.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
@ -536,7 +556,7 @@
|
||||||
config=dev-whatever
|
config=dev-whatever
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
would output a file named whatever with the following content if the
|
would output a file named whatever with the following content if the
|
||||||
user is "harvey":
|
user is "harvey":
|
||||||
|
|
||||||
config=work-Linux
|
config=work-Linux
|
||||||
|
@ -545,7 +565,7 @@
|
||||||
|
|
||||||
config=dev-whatever
|
config=dev-whatever
|
||||||
|
|
||||||
An equivalent Jinja template named whatever##template.j2 would look
|
An equivalent Jinja template named whatever##template.j2 would look
|
||||||
like:
|
like:
|
||||||
|
|
||||||
{% if YADM_USER == 'harvey' -%}
|
{% if YADM_USER == 'harvey' -%}
|
||||||
|
@ -554,6 +574,15 @@
|
||||||
config=dev-whatever
|
config=dev-whatever
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
|
An equivalent ESH templated named whatever##template.esh would look
|
||||||
|
like:
|
||||||
|
|
||||||
|
<% if [ "$YADM_USER" = "harvey" ]; then -%>
|
||||||
|
config=<%= $YADM_CLASS %>-<%= $YADM_OS %>
|
||||||
|
<% else -%>
|
||||||
|
config=dev-whatever
|
||||||
|
<% fi -%>
|
||||||
|
|
||||||
|
|
||||||
## ENCRYPTION
|
## ENCRYPTION
|
||||||
It can be useful to manage confidential files, like SSH or GPG keys,
|
It can be useful to manage confidential files, like SSH or GPG keys,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
||||||
Name: yadm
|
Name: yadm
|
||||||
Summary: Yet Another Dotfiles Manager
|
Summary: Yet Another Dotfiles Manager
|
||||||
Version: 2.4.0
|
Version: 2.5.0
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
URL: https://yadm.io
|
URL: https://yadm.io
|
||||||
|
|
Loading…
Reference in a new issue