{
  description = "The flake that describes my server configurations";

  inputs.deploy-rs.url = "github:serokell/deploy-rs";

  outputs = { self, nixpkgs, deploy-rs, }: {
    nixosConfigurations.lunasa = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [ ./lunasa/configuration.nix ];
    };

    deploy.nodes.lunasa = {
      hostname = "lunasa";
      sshUser = "root";
      profiles.system = {
        user = "root";
        path = deploy-rs.lib.x86_64-linux.activate.nixos
          self.nixosConfigurations.lunasa;
      };
    };

    checks =
      builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy)
      deploy-rs.lib;
  };
}