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
|
||||
<code class="literal">checkLinkTargets</code> script block checks for
|
||||
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>
|
||||
variable, if it is set then the actions taken by the script
|
||||
should be logged to standard out and not actually performed.
|
||||
The variable <code class="varname">DRY_RUN_CMD</code> is set to
|
||||
<span class="command"><strong>echo</strong></span> if dry run is enabled.</p><p>A script block should also respect the
|
||||
<code class="varname">VERBOSE</code> variable, and if set print
|
||||
information on standard out that may be useful for debugging
|
||||
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>
|
||||
<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
|
||||
then the actions taken by the script should be logged to standard out
|
||||
and not actually performed. A convenient shell function <span class="command"><strong>run</strong></span>
|
||||
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
|
||||
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
|
||||
output to <code class="filename">/dev/null</code>, otherwise prints the command to standard
|
||||
output.</p></dd></dl></div><p>A script block should also respect the <code class="varname">VERBOSE</code> variable, and if
|
||||
set print information on standard out that may be useful for debugging
|
||||
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. 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>
|
||||
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">{
|
||||
myActivationAction = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
$DRY_RUN_CMD ln -s $VERBOSE_ARG \
|
||||
run ln -s $VERBOSE_ARG \
|
||||
${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
|
||||
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
|
||||
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
|
||||
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>
|
||||
|
|
Loading…
Reference in a new issue