User:SigmaSquadron/Template:Evaluate: Difference between revisions

From NixOS Wiki
No edit summary
Line 39: Line 39:
* You could call some other <nowiki>{{{action}}}</nowiki>, like so: <nowiki>{{Evaluate|action=list-generations}}</nowiki>, and the message about evaluating your configuration would no longer make any sense. I expect editors to know better than that though.
* You could call some other <nowiki>{{{action}}}</nowiki>, like so: <nowiki>{{Evaluate|action=list-generations}}</nowiki>, and the message about evaluating your configuration would no longer make any sense. I expect editors to know better than that though.


* The usage of <code>--use-remote-sudo</code> means that the command wouldn't work for those not using <code>sudo</code>. However, there is the tiny benefit that the evaluation and build process is no longer called by the root user, which may be helpful for those using flake-based evaluation.
* The usage of <code>--use-remote-sudo</code> means that the command wouldn't work for those not using <code>sudo</code>. However, there is the tiny benefit that the evaluation and build process is no longer called by the root user, which may be helpful for those using flake-based evaluation. Also, it can point users on the right path when they begin to build systems remotely.


== Code ==
== Code ==

Revision as of 09:23, 4 July 2024

Proposal

Alter the Template:Evaluate to support more commands than just switch by providing the optional attribute action. This change is backwards compatible and requires no changes to existing template calls.

About

This template is used to remind end-users that they need to rebuild for the changes to take effect. The optional attribute action can be used to define the subcommand suggested by the tip.

Usage

Default Evaluate Box:

{{Evaluate}}

Boot Evaluate Box:

{{Evaluate|action=boot}}

Test Evaluate Box:

{{Evaluate|action=test}}

Example

Default Evaluate Box: (Called without action)

Boot Evaluate Box:

Test Evaluate Box:

Potential Issues

  • You could call some other {{{action}}}, like so: {{Evaluate|action=list-generations}}, and the message about evaluating your configuration would no longer make any sense. I expect editors to know better than that though.
  • The usage of --use-remote-sudo means that the command wouldn't work for those not using sudo. However, there is the tiny benefit that the evaluation and build process is no longer called by the root user, which may be helpful for those using flake-based evaluation. Also, it can point users on the right path when they begin to build systems remotely.

Code

<noinclude>{{DISPLAYTITLE:Template:evaluate}}

== About ==
This template is used to remind end-users that they need to rebuild for the changes to take effect. The optional attribute <code>action</code> can be used to define the subcommand suggested by the tip.

== Usage ==

Default <code>Evaluate</code> Box:

<pre>
<nowiki>{{Evaluate}}</nowiki>
</pre>

Boot <code>Evaluate</code> Box:

<pre>
<nowiki>{{Evaluate|boot}}</nowiki>
</pre>


Test <code>Evaluate</code> Box:

<pre>
<nowiki>{{Evaluate|boot}}</nowiki>
</pre>

== Example ==
Default <code>Evaluate</code> Box:
{{Evaluate}}

Boot <code>Evaluate</code> Box:
{{Evaluate|action=boot}}

Test <code>Evaluate</code> Box:
{{Evaluate|action=test}}

</noinclude><includeonly>{{Tip
|1=In order to '''affect''' your NixOS system by your nix-language-specific changes you must first '''evaluate''' it:{{Commands|$ nixos-rebuild {{{action|switch}}} --use-remote-sudo}}{{#ifeq: boot | {{{action}}} | Then, reboot:{{Commands|$ systemctl reboot}}}}{{#ifeq: test | {{{action}}} | '''Remember:''' any changes evaluated through <code>nixos-rebuild test</code> '''will not''' persist upon reboot.}}}}</includeonly>