{ description = "4o1x5 infrastructure/homelab"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; home-manager = { url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; i2pd-exporter = { url = "git+https://git.4o1x5.dev/4o1x5/i2pd-exporter"; inputs.nixpkgs.follows = "nixpkgs"; }; microvm = { url = "github:astro/microvm.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix.url = "github:ryantm/agenix"; }; outputs = { self , nixpkgs , home-manager , i2pd-exporter , microvm , agenix }: let system = "x86_64-linux"; in { nixosConfigurations = { pink = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./hosts/pink/root.nix ./root.nix i2pd-exporter.nixosModules.default home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } ]; }; carbon = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./hosts/carbon/root.nix ./root.nix ./secrets/carbon.nix agenix.nixosModules.default home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } ({ pkgs, ... }: { ixpkgs.overlays = [ (self: super: { inadyn = super.inadyn.overrideAttrs (oldAttrs: rec { src = pkgs.fetchFromGitHub { owner = "troglobit"; repo = "inadyn"; rev = "7d576c4d00d312597c2b9c06c00529d2dde5ac89"; hash = "sha256-EJ9/MZhz/Gjj2RCMRDkwuKRatig/t1wAqQRqOcHA2gc="; }; }); }) ]; }) ]; }; lime = nixpkgs.lib.nixosSystem { inherit system; modules = [ ({ pkgs, ... }: { nixpkgs.overlays = [ (self: super: { inadyn = super.inadyn.overrideAttrs (oldAttrs: rec { src = pkgs.fetchFromGitHub { owner = "troglobit"; repo = "inadyn"; rev = "7d576c4d00d312597c2b9c06c00529d2dde5ac89"; hash = "sha256-EJ9/MZhz/Gjj2RCMRDkwuKRatig/t1wAqQRqOcHA2gc="; }; }); }) ]; }) ./hosts/lime/root.nix ./root.nix ./secrets/lime.nix agenix.nixosModules.default home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; } ]; }; }; }; }