2024-06-20 13:03:44 -05:00
|
|
|
{ lib, pkgs, ... }:
|
2024-06-20 08:59:56 -05:00
|
|
|
# Role for headless servers
|
|
|
|
# covers raspi's, sbc, NUC etc, anything
|
|
|
|
# that is headless and minimal for running services
|
|
|
|
with lib;
|
|
|
|
{
|
|
|
|
config = {
|
2024-06-22 08:49:32 -05:00
|
|
|
# Enable monitoring for remote scraping
|
2024-07-30 18:47:59 -05:00
|
|
|
mySystem = {
|
|
|
|
services.rebootRequiredCheck.enable = true;
|
|
|
|
security.wheelNeedsSudoPassword = false;
|
|
|
|
services.cockpit.enable = true;
|
|
|
|
system.motd.enable = true;
|
|
|
|
};
|
|
|
|
|
2024-06-20 08:59:56 -05:00
|
|
|
nix.settings = {
|
|
|
|
# TODO factor out into mySystem
|
|
|
|
# Avoid disk full issues
|
|
|
|
max-free = lib.mkDefault (1000 * 1000 * 1000);
|
|
|
|
min-free = lib.mkDefault (128 * 1000 * 1000);
|
|
|
|
};
|
|
|
|
|
|
|
|
services.logrotate.enable = mkDefault true;
|
|
|
|
environment = {
|
|
|
|
systemPackages = [ pkgs.lazygit ];
|
|
|
|
};
|
2024-06-22 08:49:32 -05:00
|
|
|
|
2024-06-20 08:59:56 -05:00
|
|
|
documentation = {
|
|
|
|
enable = mkDefault false;
|
|
|
|
doc.enable = mkDefault false;
|
|
|
|
info.enable = mkDefault false;
|
|
|
|
man.enable = mkDefault false;
|
|
|
|
nixos.enable = mkDefault false;
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.command-not-found.enable = mkDefault false;
|
2024-06-21 19:34:22 -05:00
|
|
|
sound.enable = mkDefault false;
|
|
|
|
hardware.pulseaudio.enable = mkDefault false;
|
2024-06-20 08:59:56 -05:00
|
|
|
services.udisks2.enable = mkDefault false;
|
|
|
|
};
|
|
|
|
}
|