{ description = "Michael Thomas's NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11"; unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nur.url = "github:nix-community/NUR"; home-manager = { url = "github:rycee/home-manager/release-21.11"; inputs = { nixpkgs.follows = "nixpkgs"; }; }; }; outputs = inputs: { nixosConfigurations = { loft = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./modules/common.nix ./modules/containers.nix ./machines/loft/configuration.nix ]; specialArgs = { inherit inputs; }; }; kitchen = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./modules/common.nix ./modules/containers.nix ./machines/kitchen/configuration.nix ]; specialArgs = { inherit inputs; }; }; }; homeConfigurations = { nixos = inputs.home-manager.lib.homeManagerConfiguration { system = "x86_64-linux"; homeDirectory = "/home/michael"; username = "michael"; stateVersion = "21.05"; configuration = { config, pkgs, ... }: { nixpkgs.config = { allowUnfree = true; }; programs.home-manager.enable = true; imports = [ ./user/environments/nixos/home.nix ]; }; }; wsl = inputs.home-manager.lib.homeManagerConfiguration { system = "x86_64-linux"; homeDirectory = "/home/michael"; username = "michael"; stateVersion = "21.05"; configuration = { config, pkgs, ... }: { nixpkgs.config = { allowUnfree = true; }; programs.home-manager.enable = true; imports = [ ./user/environments/wsl/home.nix ]; }; }; }; }; }