Archived
Several single-purpose modules sat at modules/ root or in the services/ catch-all despite the repo's established pattern of one directory per concern (tailscale/, beszel/, docker/, nix-cache/): - remote-builder-client.nix -> nix-cache/ (always co-included with nix-cache/client.nix in flake.nix's mkTarget, same buildType guard) - set-locale.nix -> common/ (unconditionally imported by common/configuration.nix already) - enable-ip-forwarding.nix -> networking/ - rotate-traefik-logs.nix -> traefik/rotate-logs.nix - services/docker-health-to-gotify.nix and services/nextcloud-cron-job.nix -> docker/ (both only ever imported by the docker build type, same as the rest of modules/docker/*) Pure path moves plus import-path updates in flake.nix, common/configuration.nix, and build-types/docker.nix — verified eval-equivalent (drvPath-identical) across representative hosts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01La55Nsss8jZ7ZuzUV9mfot
41 lines
1014 B
Nix
41 lines
1014 B
Nix
{ pkgs, vars, ... }:
|
|
|
|
{
|
|
# 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
|
|
../docker/nextcloud-cron-job.nix
|
|
../docker/docker-health-to-gotify.nix
|
|
../tailscale/enable-service.nix
|
|
../traefik/rotate-logs.nix
|
|
../raspi/mount-data.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 vars.beszelHubPort ];
|
|
}
|