{ config, marleylib, lib, ... }: let cfg = config.marleycfg.profiles; inherit (marleylib.module) enabled; in { marleyos = lib.mkMerge [ # Universal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { programs = { agenix = enabled; bat = enabled; curl = enabled; eza = enabled; nh = enabled; }; } # # # Graphical Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - - (lib.optionalAttrs cfg.desktop { shell.niri = enabled; programs = { cheat = enabled; figlet = enabled; nemo = enabled; }; services = { udiskie = enabled; }; }) # # # Server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (lib.optionalAttrs cfg.server {}) ]; }