homeConfigurations
The homeConfigurations attribute lets you set outputs for NixOS systems and home-manager users.
It should be set to an attribute set. Each value should be a set of home-manager.lib.homeManagerConfiguration args, the result of calling home-manager.lib.homeManagerConfiguration, or a function that takes moduleArgs and returns one of the prior.
When using a set of homeManagerConfiguration args, it is required to include system (pkgs does not need to be included), and inputs.home-manager must be set. home-manager modules will have access to a flake module arg equivalent to moduleArgs plus inputs' and outputs'. Conflake's pkgs attributes, withOverlays, and packages will also be available in the home-manager instance's pkgs.
When using the result of calling homeManagerConfiguration, the config.propagationModule value can be used as a home-manager module to gain the above benefits.
Usage
For example:
{
inputs = {
conflake.url = "github:ratson/conflake";
home-manger.url = "github:nix-community/home-manager";
};
outputs = { conflake, home-manager, ... }@inputs:
conflake ./. ({ config, ... }: {
inherit inputs;
homeConfigurations.username = {
system = "x86_64-linux";
modules = [{ home.stateVersion = "24.05"; }];
};
});
}