marleyos/modules/nixos/profiles.nix

48 lines
944 B
Nix

{
config,
marleylib,
lib,
...
}: let
cfg = config.marleycfg.profiles;
inherit (marleylib.module) enabled;
in {
marleyos =
# Universal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{
programs = {
fish = 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;
};
});
}