Archived
Check NixOS configurations / eval-hosts (push) Failing after 12m2s
Generates all nixosConfigurations from mkTarget(platform, buildType, hostPath) instead of hand-written per-host blocks, so adding a new platform or build type is a one-line addition. Per-machine identity (hostname, hostId, secrets, stateVersion) moves into hosts/<name>/host.nix; platform-specific config (hardware, boot, networking) into modules/platforms/*.nix; build-type config (minimal/server/docker/gui/ nix-cache/pxe-boot) into modules/build-types/*.nix. Old flat targets (nixos, docker, server, nix-cache, nix-minimal, pxe-boot) are replaced by the 17-target <platform>-<buildtype> matrix; each new target was verified to evaluate before its old counterpart was removed. CI workflows and docs/aliases now discover hosts dynamically via nixosConfigurations attrNames and /etc/flake-target instead of hardcoded lists, so they can't drift from flake.nix again. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
41 lines
998 B
Nix
41 lines
998 B
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
# Pins the Docker Engine version, carried forward from the pre-refactor
|
|
# `docker` target's inline pkgs overlay.
|
|
nixpkgs.overlays = [
|
|
(final: prev: {
|
|
docker = prev.docker_29;
|
|
docker_cli = prev.docker_29;
|
|
})
|
|
];
|
|
|
|
imports = [
|
|
../docker/mount-data.nix
|
|
../docker/enable-service.nix
|
|
../tailscale/enable-service.nix
|
|
../rotate-traefik-logs.nix
|
|
../raspi/mount-data.nix
|
|
../services/nextcloud-cron-job.nix
|
|
../services/docker-health-to-gotify.nix
|
|
../services/enable-rpcbind.nix
|
|
];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
nfs-utils
|
|
];
|
|
|
|
boot.supportedFilesystems = [ "nfs" ];
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"L+ /home/nixos/docker - - - - /mnt/docker/config"
|
|
"d /mnt/docker 0755 nixos users -"
|
|
"d /mnt/raspi-backup 0755 nixos users -"
|
|
];
|
|
|
|
users.users.nixos.extraGroups = [ "docker" ];
|
|
services.openssh.settings.PermitRootLogin = "yes";
|
|
|
|
networking.firewall.allowedTCPPorts = [ 80 8080 443 8090 ];
|
|
}
|