You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.1 KiB
60 lines
1.1 KiB
{ config, lib, pkgs, git_url, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
];
|
|
|
|
boot.loader.grub.enable = true;
|
|
boot.loader.grub.device = "/dev/sda";
|
|
|
|
networking.hostName = "core";
|
|
networking.domain = "domain.com";
|
|
|
|
time.timeZone = "UTC";
|
|
|
|
services.openssh = {
|
|
enable = true;
|
|
settings = {
|
|
PermitRootLogin = "prohibit-password";
|
|
PasswordAuthentication = false;
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
curl
|
|
tmux
|
|
wget
|
|
bash
|
|
];
|
|
|
|
infra.acme = {
|
|
enable = true;
|
|
email = "admin@${config.networking.domain}";
|
|
};
|
|
|
|
services.keycloak = {
|
|
enable = true;
|
|
hostname = "auth.domain.com";
|
|
adminPasswordFile = "/etc/keycloak-admin-password";
|
|
database = {
|
|
host = "localhost";
|
|
passwordFile = "/etc/keycloak-db-password";
|
|
};
|
|
};
|
|
|
|
infra.gatus = {
|
|
enable = true;
|
|
hostname = "status.domain.com";
|
|
title = "Status";
|
|
};
|
|
|
|
infra.autoUpdate = {
|
|
enable = true;
|
|
# selects the nixosConfigurations.core.domain.com output from the flake
|
|
flake = "${git_url}#core.domain.com";
|
|
allowReboot = true;
|
|
};
|
|
|
|
system.stateVersion = "26.05";
|
|
}
|
|
|