nixos-installer/example/defaultConfig/flake.nix
2023-11-27 17:15:44 +01:00

19 lines
1.5 KiB
Nix

# The default »config« flake input for this repo. It influences the exports made by this repo's main flake.
# To customize these options, copy the directory containing this file into a calling flake, and set »inputs.<this-repo>.inputs.config.url = "path:./rel/path/to/copied/dir"«.
{ outputs = { ... }: {
# Moving from a monorepo (`nixpkgs`) to compositions of independent repositories, it is likely that different things will end up with the same name.
# The hierarchical structure and input/output sematic of Nix flakes can avoid most naming conflicts.
#
# NixOS modules, however, define their configuration options in a hierarchical, but global, namespace, and some of those options are necessarily meant to be accessed from modules external to the defining flake.
# Usually, for any given module, an importing flake would only have the option to either include a module or not. If two modules define options of conflicting names, then they can't be imported at the same time, even if they could otherwise coexist.
#
# The only workaround (that I could come up with) is to have a flake-level option that allows to change the names of the options defined in the modules exported by that flake.
# To rename the options exported by this flake's modules, change the values of this attrset:
rename = {
installer = "installer"; # config.${installer}
setup = "setup"; # config.${setup}
preface = "preface"; # config.${preface}
};
}; }