{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; deploy-rs.url = "github:serokell/deploy-rs"; deploy-rs.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager/release-26.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "nixpkgs"; grasswren.url = "git+https://code.grasswren.net/Lilac/Grasswren.git?ref=main"; grasswren.flake = false; }; outputs = inputs@{ self, nixpkgs, deploy-rs, home-manager, sops-nix, grasswren, ... }: { nixosConfigurations = { laptop = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ home-manager.nixosModules.home-manager sops-nix.nixosModules.sops ./hosts/laptop.nix ]; }; desktop = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ home-manager.nixosModules.home-manager sops-nix.nixosModules.sops ./hosts/desktop.nix ]; }; vps = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ home-manager.nixosModules.home-manager ./hosts/vps.nix ]; }; backup = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ home-manager.nixosModules.home-manager ./hosts/backup.nix ]; }; }; deploy.nodes = { desktop = { hostname = "10.0.0.2"; sshUser = "root"; magicRollbackTimeout = 120; profiles.system = { user = "root"; remoteBuild = false; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.desktop; }; }; vps = { hostname = "10.0.0.3"; sshUser = "root"; magicRollbackTimeout = 120; profiles.system = { user = "root"; remoteBuild = false; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.vps; }; }; backup = { hostname = "10.0.0.4"; sshUser = "root"; magicRollbackTimeout = 120; profiles.system = { user = "root"; remoteBuild = false; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.backup; }; }; }; checks = { x86_64-linux = deploy-rs.lib.x86_64-linux.deployChecks self.deploy; }; }; }