44623b5979
I originally wanted to use the nix flake to allow users to take advantage of the latest changes. Just so happened that nixpkgs was recently updated with a new version around the same time, and this just adds complexity for no real gain. |
||
---|---|---|
.. | ||
default.nix | ||
README.md |
External Art
When you need to use a module, overlay, or pass a value from one of your inputs to the rest of your NixOS configuration, extern is where you do it.
Modules and overlays are self explanatory, and the specialArgs
attribute is
used to extend the arguments passed to all NixOS modules, allowing for
arbitrary values to be passed from flake inputs to the rest of your
configuration.
Home Manager
There is also an hmModules
attribute set for pulling home-manager modules in
from the outside world:
Declare:
flake.nix:
{
inputs.doom-emacs.url = "github:vlaci/nix-doom-emacs";
}
extern/default.nix:
with inputs;
{
hmModules = {
doom-emacs = doom-emacs.hmModule;
};
}
Use:
users/nixos/default.nix:
{ hmModules, ... }:
{
home-manager.users.nixos = {
imports = [ hmModules.doom-emacs ] ;
programs.doom-emacs.enable = true;
};
}