{ description = "NixOS definitions for our physical servers"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; deploy-rs.url = "github:serokell/deploy-rs"; }; outputs = { self, nixpkgs, deploy-rs, ... }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; deployPkgs = import nixpkgs { inherit system; overlays = [ deploy-rs.overlay (self: super: { deploy-rs = { inherit (pkgs) deploy-rs; lib = super.deploy-rs.lib; }; }) ]; }; in { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt; nixosConfigurations.hypervisor = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./configuration.nix ]; }; deploy = { sshUser = "root"; user = "root"; nodes.jefke = { hostname = "jefke.hyp"; profiles.hypervisor = { path = deployPkgs.deploy-rs.lib.activate.nixos self.nixosConfigurations.hypervisor; }; }; }; checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; }; }