mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 11:39:46 +01:00
deploy: e84811035d
This commit is contained in:
parent
13632c0620
commit
f317e83a27
2 changed files with 42 additions and 12 deletions
|
@ -7041,16 +7041,18 @@ does not modify, the state of the system and exits if an
|
||||||
unexpected state is found. For example, the
|
unexpected state is found. For example, the
|
||||||
<code class="literal">checkLinkTargets</code> script block checks for
|
<code class="literal">checkLinkTargets</code> script block checks for
|
||||||
collisions between non-managed files and files defined in
|
collisions between non-managed files and files defined in
|
||||||
<a class="xref" href="options.xhtml#opt-home.file" ><code class="option">home.file</code></a>.</p><p>A script block should respect the <code class="varname">DRY_RUN</code>
|
<a class="xref" href="options.xhtml#opt-home.file" ><code class="option">home.file</code></a>.</p><p>A script block should respect the <code class="varname">DRY_RUN</code> variable. If it is set
|
||||||
variable, if it is set then the actions taken by the script
|
then the actions taken by the script should be logged to standard out
|
||||||
should be logged to standard out and not actually performed.
|
and not actually performed. A convenient shell function <span class="command"><strong>run</strong></span>
|
||||||
The variable <code class="varname">DRY_RUN_CMD</code> is set to
|
is provided for activation script blocks. It is used as follows:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>run {command}</strong></span></span></dt><dd><p>Runs the given command on live run, otherwise prints the command to
|
||||||
<span class="command"><strong>echo</strong></span> if dry run is enabled.</p><p>A script block should also respect the
|
standard output.</p></dd><dt><span class="term"><span class="command"><strong>run --silence {command}</strong></span></span></dt><dd><p>Runs the given command on live run and sends its standard and error
|
||||||
<code class="varname">VERBOSE</code> variable, and if set print
|
output to <code class="filename">/dev/null</code>, otherwise prints the command to standard
|
||||||
information on standard out that may be useful for debugging
|
output.</p></dd></dl></div><p>A script block should also respect the <code class="varname">VERBOSE</code> variable, and if
|
||||||
any issue that may arise. The variable
|
set print information on standard out that may be useful for debugging
|
||||||
<code class="varname">VERBOSE_ARG</code> is set to
|
any issue that may arise. The variable <code class="varname">VERBOSE_ARG</code> is set to
|
||||||
<code class="option">--verbose</code> if verbose output is enabled.</p>
|
<code class="option">--verbose</code> if verbose output is enabled. You can also use the
|
||||||
|
provided shell function <span class="command"><strong>verboseEcho</strong></span>, which acts as
|
||||||
|
<span class="command"><strong>echo</strong></span> when verbose output is enabled.</p>
|
||||||
|
|
||||||
<p><span class="emphasis"><em>Type:</em></span>
|
<p><span class="emphasis"><em>Type:</em></span>
|
||||||
DAG of string</p>
|
DAG of string</p>
|
||||||
|
@ -7060,7 +7062,7 @@ DAG of string</p>
|
||||||
|
|
||||||
<p><span class="emphasis"><em>Example:</em></span></p><pre><code class="programlisting">{
|
<p><span class="emphasis"><em>Example:</em></span></p><pre><code class="programlisting">{
|
||||||
myActivationAction = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
myActivationAction = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||||
$DRY_RUN_CMD ln -s $VERBOSE_ARG \
|
run ln -s $VERBOSE_ARG \
|
||||||
${builtins.toPath ./link-me-directly} $HOME
|
${builtins.toPath ./link-me-directly} $HOME
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,35 @@ will override any other configuration and cause, for example, the
|
||||||
removal of all managed files.</p><p>Please be very careful when enabling this option since activating
|
removal of all managed files.</p><p>Please be very careful when enabling this option since activating
|
||||||
the built configuration will not only remove the managed files but
|
the built configuration will not only remove the managed files but
|
||||||
<span class="emphasis"><em>all</em></span> Home Manager state from your user environment. This includes
|
<span class="emphasis"><em>all</em></span> Home Manager state from your user environment. This includes
|
||||||
removing all your historic Home Manager generations!</p></li></ul></div>
|
removing all your historic Home Manager generations!</p></li><li class="listitem"><p>The use of <code class="literal">$DRY_RUN_CMD</code> and <code class="literal">$DRY_RUN_NULL</code> in activation script
|
||||||
|
blocks is now deprecated. Instead use the new shell function
|
||||||
|
<span class="command"><strong>run</strong></span>. In most cases it is sufficient to replace
|
||||||
|
<code class="literal">$DRY_RUN_CMD</code> by <span class="command"><strong>run</strong></span>. For example, if your configuration
|
||||||
|
currently contains</p><pre><code class="programlisting nix">home.activation.reportChanges = config.lib.dag.entryAnywhere ''
|
||||||
|
if [[ -v oldGenPath ]]; then
|
||||||
|
$DRY_RUN_CMD nix store diff-closures $oldGenPath $newGenPath
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
</code></pre><p>then you are now encouraged to change to</p><pre><code class="programlisting nix">home.activation.reportChanges = config.lib.dag.entryAnywhere ''
|
||||||
|
if [[ -v oldGenPath ]]; then
|
||||||
|
run nix store diff-closures $oldGenPath $newGenPath
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
</code></pre><p>See the description of <a class="link" href="options.xhtml#opt-home.activation" >home.activation</a> for
|
||||||
|
more. The deprecated variables will continue to work for now but
|
||||||
|
their use may in the future trigger a warning message and eventually
|
||||||
|
they may be removed entirely.</p></li><li class="listitem"><p>Similarly, the use of <code class="literal">$VERBOSE_ECHO</code> in activation script blocks is
|
||||||
|
deprecated. Instead use the new shell function
|
||||||
|
<span class="command"><strong>verboseEcho</strong></span>. That is,</p><pre><code class="programlisting nix">home.activation.doThing = config.lib.dag.entryAnywhere ''
|
||||||
|
$VERBOSE_ECHO "Doing the thing"
|
||||||
|
''
|
||||||
|
</code></pre><p>should now be expressed</p><pre><code class="programlisting nix">home.activation.doThing = config.lib.dag.entryAnywhere ''
|
||||||
|
verboseEcho "Doing the thing"
|
||||||
|
''
|
||||||
|
</code></pre><p>See the description of <a class="link" href="options.xhtml#opt-home.activation" >home.activation</a> for
|
||||||
|
more. The deprecated variable will continue to work for now but its
|
||||||
|
use may in the future trigger a warning message and eventually it
|
||||||
|
may be removed entirely.</p></li></ul></div>
|
||||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-24.05-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 class="title" style="clear: both"> <a id="sec-release-24.05-state-version-changes"></a>State Version Changes </h2> </div> </div></div><p>The state version in this release includes the changes below. These
|
||||||
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
changes are only active if the <code class="literal">home.stateVersion</code> option is set to
|
||||||
"24.05" or later.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Nothing, yet.</p></li></ul></div>
|
"24.05" or later.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Nothing, yet.</p></li></ul></div>
|
||||||
|
|
Loading…
Reference in a new issue