{ description = "Smayzy's nixos config (probably a violation of the geneva convention but who cares)"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix.url = "github:ryantm/agenix"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; stylix = { url = "github:danth/stylix"; inputs.nixpkgs.follows = "nixpkgs"; }; nvf.url = "github:notashelf/nvf"; }; outputs = { self, nixpkgs, agenix, ... }@inputs: let system = "x86_64-linux"; overlays = builtins.attrValues (import ./overlays); sharedModules = [ inputs.nix-flatpak.nixosModules.nix-flatpak inputs.stylix.nixosModules.stylix inputs.nvf.nixosModules.default inputs.agenix.nixosModules.default ]; mkHost = hostConfig: nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs system overlays agenix ; }; modules = [ hostConfig ] ++ sharedModules; }; in { nixosConfigurations = { desktop1 = mkHost ./hosts/desktop1/configuration.nix; server1 = mkHost ./hosts/server1/configuration.nix; laptop1 = mkHost ./hosts/laptop1/configuration.nix; }; }; }