feat(system): enable smartd for drive health monitoring
All checks were successful
Check / eval (push) Successful in 3m1s

This commit is contained in:
Bernardo Magri
2026-07-08 22:21:17 +01:00
parent f97acda158
commit fbd4e0503e
3 changed files with 17 additions and 6 deletions

View File

@@ -349,12 +349,6 @@ implement. Bernardo moves accepted items into a tier.*
- **[stability] Drive health monitoring (`smartd`)**:
While BTRFS auto-scrub prevents silent bitrot, it doesn't warn about
impending physical hardware failure. Enabling `services.smartd.enable = true`
with desktop notifications (via `-M exec` custom scripts or local mail)
provides early warnings when an NVMe/SSD starts throwing SMART errors, giving
the user a critical window to back up data before the drive dies.

View File

@@ -17,6 +17,13 @@ Template:
--- ---
## 2026-07-08 — Drive health monitoring (iteration #82)
- **Task:** PROPOSED item — early SMART warnings for failing hardware.
- **Did:** Added `services.smartd.enable = true` and `services.smartd.notifications.x11/wall` to `modules/nixos/default.nix`. Also explicitly enabled `services.systembus-notify.enable` to resolve a module collision with `earlyoom`.
- **Verified:** V1 (flake check).
- **Pending:** nothing.
- **Next suggestion:** continue tackling the PROPOSED backlog queue (e.g. `ddcutil`).
## 2026-07-08 — Microphone noise cancellation (iteration #81) ## 2026-07-08 — Microphone noise cancellation (iteration #81)
- **Task:** PROPOSED item — system-wide background noise filtering for voice calls. - **Task:** PROPOSED item — system-wide background noise filtering for voice calls.
- **Did:** Enabled `services.easyeffects.enable = true` in `modules/home/default.nix`. - **Did:** Enabled `services.easyeffects.enable = true` in `modules/home/default.nix`.

View File

@@ -135,6 +135,16 @@ in
# `services.fwupd.enable = false`. # `services.fwupd.enable = false`.
services.fwupd.enable = lib.mkDefault true; services.fwupd.enable = lib.mkDefault true;
# Drive health monitoring (SMART).
services.smartd = {
enable = lib.mkDefault true;
notifications.x11.enable = lib.mkDefault true;
notifications.wall.enable = lib.mkDefault true;
};
# Explicitly enable systembus-notify to resolve a mkDefault conflict
# between earlyoom (true) and smartd (false).
services.systembus-notify.enable = true;
networking.networkmanager.enable = lib.mkDefault true; networking.networkmanager.enable = lib.mkDefault true;
# OpenVPN support for the VPN menu's import/connect flow (nomarchy-vpn). # OpenVPN support for the VPN menu's import/connect flow (nomarchy-vpn).
# WireGuard needs no plugin (NetworkManager imports wg .conf natively); # WireGuard needs no plugin (NetworkManager imports wg .conf natively);