nix-config/hosts/franz/arion/default.nix

50 lines
1 KiB
Nix

{
inputs,
pkgs,
config,
...
}: {
imports = [
inputs.arion.nixosModules.arion
./dns
./infrastructure
./nextcloud
./push
./git
./passwords
./media
./dashboard
./smarthome
./signal
./feed
./matrix
./headscale
./auth
./minio
./stats
];
environment.systemPackages = with pkgs; [arion];
virtualisation.arion.backend = "docker";
systemd.services.init-dmz-bridge-network = {
description = "Create the network bridge dmz for the Docker stack.";
after = ["network.target"];
wantedBy = ["multi-user.target"];
serviceConfig.Type = "oneshot";
script = let
dockercli = "${config.virtualisation.docker.package}/bin/docker";
in ''
# Put a true at the end to prevent getting non-zero return code, which will
# crash the whole service.
check=$(${dockercli} network ls | grep "dmz" || true)
if [ -z "$check" ]; then
${dockercli} network create dmz
else
echo "dmz already exists in docker"
fi
'';
};
}