Skip to content

Latest commit

 

History

History
45 lines (38 loc) · 990 Bytes

README.md

File metadata and controls

45 lines (38 loc) · 990 Bytes

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;
  };
}