{ 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; figlet = enabled; fish = enabled; gpg = enabled; httpie = enabled; hyfetch = enabled; journalctl = enabled; jq = enabled; just = enabled; nh = enabled; }; } # # # Graphical Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - - (lib.optionalAttrs cfg.desktop { shell.niri = enabled; programs = { cheat = enabled; fzf = enabled; gh = enabled; glow = enabled; nemo = enabled; }; services = { udiskie = enabled; }; }) # # # Server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (lib.optionalAttrs cfg.server {}) ]; }