{ config, marleylib, lib, ... }: let cfg = config.marleycfg.profiles; inherit (marleylib.module) enabled; in { marleyos = lib.mkMerge [ # Universal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { programs = { curl = enabled; fish = enabled; jq = enabled; less = enabled; neovim = enabled; nix-output-monitor = enabled; ripgrep = enabled; wget = enabled; }; services = { openssh = enabled; # required for agenix }; } # # # Graphical Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - - (lib.optionalAttrs cfg.desktop {}) # # # Server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (lib.optionalAttrs cfg.server {}) ]; }