{ config, marleylib, lib, ... }: let cfg = config.marleycfg.profiles; inherit (marleylib.module) enabled; in { marleyos = lib.mkMerge [ # Universal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { programs = { nh = enabled; }; services = { docker = enabled; }; } # # # Graphical Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - - (lib.optionalAttrs cfg.desktop { mounts.babeshare = enabled; shell = { ly = enabled; niri = enabled; }; services = { mopidy = enabled; protonmail-bridge = enabled; }; }) # # # Server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (lib.optionalAttrs cfg.server { services = { prometheus = enabled; }; }) ]; }