{ description = "tzlil's system(s)"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; impermanence.url = "github:nix-community/impermanence"; agenix.url = "github:ryantm/agenix"; nixos-hardware.url = "github:nixos/nixos-hardware"; # deploy-rs.url = "github:serokell/deploy-rs"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs: let mkSystem_ = pkgs: system: h: modules: pkgs.lib.nixosSystem { system = system; modules = [./hosts/${h}/cfg.nix] ++ modules; specialArgs = {inherit inputs;}; }; mkSystem = pkgs: system: h: (mkSystem_ pkgs system h [ inputs.agenix.nixosModule inputs.impermanence.nixosModules.impermanence ]); in { nixosConfigurations = { pc = mkSystem inputs.nixpkgs "x86_64-linux" "lilith"; vm = mkSystem inputs.nixpkgs "x86_64-linux" "vm"; }; # deploy.nodes.some-random-system.profiles.system = { # user = "root"; # path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.vm; # }; # This is highly advised, and will prevent many possible mistakes # checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; }; }