{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; nur.url = "github:nix-community/NUR"; impermanence.url = "github:nix-community/impermanence"; hm-isolation.url = "github:3442/hm-isolation"; nixvirt = { url = "github:AshleyYakeley/NixVirt"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils.url = "github:numtide/flake-utils"; lanzaboote = { url = "github:nix-community/lanzaboote"; inputs = { nixpkgs.follows = "nixpkgs"; pre-commit-hooks-nix.follows = ""; }; }; trivionomicon = { url = "git+https://git.posixlycorrect.com/deepState/trivionomicon?ref=master"; inputs = { flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; }; }; vpsadminos.url = "github:vpsfreecz/vpsadminos"; }; outputs = flakes@{ self , nixpkgs , unstable , home-manager , nur , impermanence , hm-isolation , nixvirt , flake-utils , lanzaboote , trivionomicon , vpsadminos }: let system = "x86_64-linux"; pkgs = importPkgs nixpkgs; importPkgs = flake: import flake { inherit system; config = import ./pkgs/config nixpkgs.lib; overlays = [ nur.overlays.default trivionomicon.overlays.default self.overlays.default ]; }; inherit (pkgs.local.lib) importAll; local = import ./pkgs; in with pkgs.lib; { formatter.${system} = pkgs.nixpkgs-fmt; packages.${system} = pkgs.local; overlays.default = final: prev: let locals = local final prev; in { local = locals; unstable = importPkgs unstable; } // locals.override; nixosConfigurations = let nixosSystem = { modules }: makeOverridable nixpkgs.lib.nixosSystem { inherit modules pkgs system; specialArgs = { inherit flakes; }; }; hostConfig = host: nixosSystem { modules = [ ./sys host ]; }; in mapAttrs (_: hostConfig) (importAll { root = ./sys/platform; }); homeConfigurations = let registry = { ... }: { config.nix.registry = mapAttrs (_: value: { flake = value; }) flakes; }; home = name: platform: home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { inherit flakes; }; modules = [ ./home platform registry ]; }; in mapAttrs home (importAll { root = ./home/platform; }); }; }