feat(wpcarro/blog): Create short post about scheduled reboots
Slowly building the habit of blogging more (especially about nix). Change-Id: I13006a6555d746ab55b4b282ea83bc732573a58e Reviewed-on: https://cl.tvl.fyi/c/depot/+/5149 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com>
This commit is contained in:
parent
3220b38d03
commit
e1833e95f2
2 changed files with 47 additions and 0 deletions
|
@ -22,4 +22,11 @@
|
|||
content = ./posts/send-mail-as-2fa.md;
|
||||
draft = false;
|
||||
}
|
||||
{
|
||||
key = "auto-reboot-nixos";
|
||||
title = "Automatically Reboot NixOS";
|
||||
date = 1643666914;
|
||||
content = ./posts/auto-reboot-nixos.md;
|
||||
draft = false;
|
||||
}
|
||||
]
|
||||
|
|
40
users/wpcarro/website/blog/posts/auto-reboot-nixos.md
Normal file
40
users/wpcarro/website/blog/posts/auto-reboot-nixos.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
## Show me the codes
|
||||
|
||||
Regularly rebooting machines can be a useful, hygienic practice, but quite
|
||||
frankly I cannot be relied on to remember to regularly reboot my machine.
|
||||
|
||||
Let's free-up some wetware-RAM by automating this with Nix. The following
|
||||
addition to your `configuration.nix` will schedule daily reboots at `03:00`:
|
||||
|
||||
```nix
|
||||
systemd.timers.auto-reboot = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "*-*-* 03:00:00";
|
||||
Unit = "reboot.target";
|
||||
};
|
||||
};
|
||||
```
|
||||
|
||||
If you want to fiddle with the date format, `systemd-analyze` is your friend:
|
||||
|
||||
```shell
|
||||
λ systemd-analyze calendar '*-*-* 03:00:00'
|
||||
Normalized form: *-*-* 03:00:00
|
||||
Next elapse: Tue 2022-02-01 03:00:00 PST
|
||||
(in UTC): Tue 2022-02-01 11:00:00 UTC
|
||||
From now: 12h left
|
||||
```
|
||||
|
||||
After calling `nixos-rebuild switch`, you can verify that `systemd` started the
|
||||
timer with:
|
||||
|
||||
```shell
|
||||
λ systemctl list-timers auto-reboot
|
||||
# output omitted because I'm writing this from a different machine
|
||||
```
|
||||
|
||||
## That's all, folks!
|
||||
|
||||
I wanted to keep this post short-and-sweet, to build the habit of posting more
|
||||
regularly. Hopefully someone out there found this useful.
|
Loading…
Reference in a new issue