Thanks for the information!
Just a clarification do you mean to do this as work around?
boot.loader.grub.extraConfig = ''
if keystatus --shift ; then
set timeout=-1
else
set timeout=0
fi
'';
I currently have boot.loader.grub.timeout = 0; Will this directive need
to change?
Thanks,
Roger
On 28/05/2014 3:29 AM, Kirill Elagin wrote:
Well, it looks like I should start with basics of grub.
Grub has a configuration file, `grub.cfg`. There is no such thing as
“hidden timeout” in terms of grub's configuration file.
Also they ship scripts that generate this configuration from another
configuration, supposedly, a more user-friendly one.
That's actually what you edit in `/etc/default/grub`. By the way, the
scripts that source this file and generate `grub.cfg`
are in `/etc/grub.d/` so you can check them out if you are interested.
The relevant part is `make_timeout` function in `00_header`.
I should note that I never trusted those generating scripts, because
they produce tons of useless code and I prefer to write
`grub.cfg` myself (kinda old-school, yeah!).
Now, NixOS, obviously doesn't use those scripts and generates
`grub.cfg` for you. So, the thing is, there is no way
to configure “hidden timeout” which is not cool, and I'll definitely
put this on my list of my future contributions to NixOS.
But for now you can simulate this by putting something like:
boot.loader.grub.extraConfig = ''
if sleep --interruptible 5 ; then
set timeout=10
fi
'';
(Not tested, just guessing.)
(Where 5 is GRUB_HIDDEN_TIMEOUT and 10 is GRUB_TIMEOUT.)
This way you'll get the same behaviour as grub's upstream generator
scripts give you.
Personally I normally use this in my `grub.cfg` instead:
if keystatus --shift ; then
set timeout=-1
else
set timeout=0
fi
This will normally boot immediately without displaying the menu or
waiting for something, _unless_ you are holding
shift when booting. If you are holding shift, it will display the menu
without timeout.
--
Кирилл Елагин
On Tue, May 27, 2014 at 11:53 AM, Roger Qiu <[email protected]
<mailto:[email protected]>> wrote:
Hello,
In a configuration.nix, where would you be able to set GRUB
options such as:
|GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true|
The normal boot.loader.grub does not seem to have these functions?
Thanks,
Roger
_______________________________________________
nix-dev mailing list
[email protected] <mailto:[email protected]>
http://lists.science.uu.nl/mailman/listinfo/nix-dev
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev