feat(system): add desktop preset module

Mirror of the laptop preset for the desktop form factor. New
`nomarchy.system.desktop.enable` defaults to `formFactor == "desktop"`,
so the installer's existing formFactor write auto-flips it on without
installer changes (same pattern as laptop).

The module pins `powerManagement.cpuFreqGovernor` to `"performance"`
(via mkDefault) and enables `services.zfs.{autoScrub,trim}` so a
future ZFS pool gets sensible maintenance for free. The ZFS knobs are
no-ops until the user adds zfs to `boot.supportedFilesystems`.

Battery widget filtering is already driven by `formFactor` itself in
`features/desktop/waybar/default.nix`, so the preset doesn't repeat
it. Closes the "Desktop preset module" Next item.
This commit is contained in:
Bernardo Magri
2026-04-26 08:51:28 +01:00
parent 5b014cfa29
commit e9c9342965
5 changed files with 39 additions and 1 deletions

15
core/system/desktop.nix Normal file
View File

@@ -0,0 +1,15 @@
{ config, lib, ... }:
let
cfg = config.nomarchy.system.desktop;
in
{
config = lib.mkIf cfg.enable {
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
# No-op until the user adds ZFS to boot.supportedFilesystems and a pool;
# then maintenance kicks in without further config.
services.zfs.autoScrub.enable = lib.mkDefault true;
services.zfs.trim.enable = lib.mkDefault true;
};
}