|
|
(2 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| == Proposal ==
| | Implemented in [[Template:Evaluate]]. |
| | |
| Alter the [[Template:Evaluate]] to support more commands than just <code>switch</code> by providing the optional attribute <code>action</code>. 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 <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|action=boot}}</nowiki>
| |
| </pre>
| |
| | |
| Test <code>Evaluate</code> Box:
| |
| | |
| <pre>
| |
| <nowiki>{{Evaluate|action=test}}</nowiki>
| |
| </pre>
| |
| | |
| == Example ==
| |
| Default <code>Evaluate</code> Box: (Called without action)
| |
| {{Tip|1=In order to '''affect''' your NixOS system by your nix-language-specific changes you must first '''evaluate''' it:{{Commands|$ nixos-rebuild switch --use-remote-sudo}}}}
| |
| | |
| Boot <code>Evaluate</code> Box:
| |
| {{Tip|1=In order to '''affect''' your NixOS system by your nix-language-specific changes you must first '''evaluate''' it:{{Commands|$ nixos-rebuild boot --use-remote-sudo}}Then, reboot:{{Commands|$ systemctl reboot}}}}
| |
| | |
| Test <code>Evaluate</code> Box:
| |
| {{Tip|1=In order to '''affect''' your NixOS system by your nix-language-specific changes you must first '''evaluate''' it:{{Commands|$ nixos-rebuild test --use-remote-sudo}}'''Remember:''' any changes evaluated through <code>nixos-rebuild test</code> '''will not''' persist upon reboot.}}
| |
| | |
| == Potential Issues ==
| |
| * 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.
| |
| | |
| * This could be rewritten as an anonymous tag with just <nowiki>{{Evaluate|boot}}</nowiki> by using <nowiki>{{{1}}}</nowiki> instead of <nowiki>{{{action}}}</nowiki>. I personally dislike this alternative syntax, but it may be preferable to editors.
| |
| | |
| * 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 ==
| |
| <syntaxhighlight lang=html>
| |
| <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|action=boot}}</nowiki>
| |
| </pre>
| |
| | |
| | |
| Test <code>Evaluate</code> Box:
| |
| | |
| <pre>
| |
| <nowiki>{{Evaluate|action=test}}</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>
| |
| </syntaxhighlight>
| |
| | |
| == Code (No --use-remote-sudo) ==
| |
| <syntaxhighlight lang=html>
| |
| <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|action=boot}}</nowiki>
| |
| </pre>
| |
| | |
| | |
| Test <code>Evaluate</code> Box:
| |
| | |
| <pre>
| |
| <nowiki>{{Evaluate|action=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}}}}}{{#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>
| |
| </syntaxhighlight>
| |
| | |
| == Code (Anonymous) ==
| |
| <syntaxhighlight lang=html>
| |
| <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|boot}}
| |
| | |
| Test <code>Evaluate</code> Box:
| |
| {{Evaluate|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 {{{1|switch}}} --use-remote-sudo}}{{#ifeq: boot | {{{1}}} | Then, reboot:{{Commands|$ systemctl reboot}}}}{{#ifeq: test | {{{1}}} | '''Remember:''' any changes evaluated through <code>nixos-rebuild test</code> '''will not''' persist upon reboot.}}}}</includeonly>
| |
| </syntaxhighlight>
| |