{
  description = "PRG Server Infrastructure - NixOS Configurations";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
  };

  outputs = {
    self,
    nixpkgs,
    ...
  }: let
    system = "x86_64-linux";
  in {
    nixosConfigurations = {
      "nixos-local-wireguard-server" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/wireguard_server.nix];
      };

      "nixos-blank" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/blank_system_USE_THIS_AS_COPY.nix];
      };

      "nixos-songsheet" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/compose-songsheet.nix];
      };

      "nixos-database" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/database.nix];
      };

      "nixos-forgejo" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/forgejo.nix];
      };

      "nixos-teamspeak" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/teamspeak.nix];
      };

      "nixos-traefik" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/traefik.nix];
      };

      "nixos-build-machine" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/build_machine.nix];
      };

      "nixos-logs" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/gramethus.nix];
      };

      "nixos-mail" = nixpkgs.lib.nixosSystem {
        inherit system;
        modules = [./nix-system-configs/modules/system/mail-server.nix];
      };
    };
  };
}
