marleyos/modules/nixos/profiles.nix
2025-05-27 17:33:35 -07:00

51 lines
1,002 B
Nix

{
config,
marleylib,
lib,
...
}: let
cfg = config.marleycfg.profiles;
inherit (marleylib.module) enabled;
in {
marleyos = lib.mkMerge [
# Universal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{
programs = {
curl = enabled;
fish = enabled;
jq = enabled;
nh = enabled;
};
services = {
docker = enabled;
openssh = enabled; # needed for agenix
};
}
#
#
# 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;
};
})
];
}