{
  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;
    };
}