{ description = "NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11"; unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-22.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; agenix.url = "github:ryantm/agenix"; }; outputs = inputs@{ nixpkgs, unstable, home-manager, agenix, ... }: let system = "x86_64-linux"; in { nixosConfigurations = let # Inject unstable for inputs for modules defaults = { pkgs, ... }: { _module.args.unstable = import inputs.unstable { inherit (pkgs.stdenv.targetPlatform) system; config.allowUnfree = true; }; }; in { smallinux = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ defaults home-manager.nixosModules.home-manager agenix.nixosModule { networking.hostName = "smallinux"; } ./common.nix ./hosts/smallinux.nix ]; }; xps15 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ defaults home-manager.nixosModules.home-manager agenix.nixosModule { networking.hostName = "xps15"; } ./common.nix ./hosts/xps15.nix ]; }; }; }; }