diff options
author | William Carroll <wpcarro@gmail.com> | 2022-01-31T22·30-0800 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2022-01-31T22·34+0000 |
commit | e1833e95f2ba403dede7befc0f2a9a6cb333f22d (patch) | |
tree | 1076a4a5a5ef65ec82155e27e8e1b4fb41ba543e /users/wpcarro | |
parent | 3220b38d03e9f690bf514b2426d664b9e30a0087 (diff) |
feat(wpcarro/blog): Create short post about scheduled reboots r/3729
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>
Diffstat (limited to 'users/wpcarro')
-rw-r--r-- | users/wpcarro/website/blog/posts.nix | 7 | ||||
-rw-r--r-- | users/wpcarro/website/blog/posts/auto-reboot-nixos.md | 40 |
2 files changed, 47 insertions, 0 deletions
diff --git a/users/wpcarro/website/blog/posts.nix b/users/wpcarro/website/blog/posts.nix index 3ed167198214..5a58c9309ce5 100644 --- a/users/wpcarro/website/blog/posts.nix +++ b/users/wpcarro/website/blog/posts.nix @@ -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; + } ] diff --git a/users/wpcarro/website/blog/posts/auto-reboot-nixos.md b/users/wpcarro/website/blog/posts/auto-reboot-nixos.md new file mode 100644 index 000000000000..24474e6dfe48 --- /dev/null +++ b/users/wpcarro/website/blog/posts/auto-reboot-nixos.md @@ -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. |