Flakes

To use NixOS mailserver Nix flakes, the following minimal flake.nix can serve as an example to get started:

{
  description = "NixOS configuration";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05-small";

    nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-26.05";
    nixos-mailserver.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs =
    {
      nixpkgs,
      nixos-mailserver,
      ...
    }:
    {
      nixosConfigurations = {
        hostname = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux"; # or aarch64-linux
          modules = [
            nixos-mailserver.nixosModules.default
            {
              mailserver = {
                enable = true;

                # Check the setup guide if you have no idea how to continue
                # from here!
              };
            }
          ];
        };
      };
    };
}

Lock the inputs and deploy the system closure:

nix flake lock
nixos-rebuild --target-host root@mail.example.com --flake .#hostname switch