Structure
Function Arguments
myconfigName
(string): the category for all Denix module options, hosts, and rices. Default ismyconfig
; changes are not recommended.denixLibName
(string): the name of the Denix library inspecialArgs
({denixLibName, ...}: denixLibName.module { ... }
). Default isdelib
; changes are not recommended.homeManagerNixpkgs
(nixpkgs): used in thepkgs
attribute of thehome-manager.lib.homeManagerConfiguration
function in the format:homeManagerNixpkgs.legacyPackages.${host :: homeManagerSystem}
. By default, it takesnixpkgs
from the flake, so if you've setinputs.denix.inputs.nixpkgs.follows = "nixpkgs";
, specifyinghomeManagerNixpkgs
is typically unnecessary.homeManagerUser
(string): the username, used inhome-manager.users.${homeManagerUser}
and for generating the Home Manager configuration list.moduleSystem
("nixos", "home", and "darwin"): specifies which module system the configuration list should be generated for - NixOS, Home Manager, or Nix-Darwin.paths
(listOf string): paths to be imported; add hosts, rices, and modules here. Default is[]
.exclude
(listOf string): paths to be excluded from importing. Default is[]
.recursive
(boolean): determines whether to recursively search for paths to import. Default istrue
.specialArgs
(attrset):specialArgs
to be passed tolib.nixosSystem
,home-manager.lib.homeManagerConfiguration
, andnix-darwin.lib.darwinSystem
. Default is{}
.- EXPERIMENTAL
extraModules
(list): default is[]
. - EXPERIMENTAL
mkConfigurationsSystemExtraModule
(attrset): a module used in the internal NixOS configuration that receives the list of hosts and rices to generate the configuration list. Default is{nixpkgs.hostPlatform = "x86_64-linux";}
.
Pseudocode
nix
delib.configurations {
myconfigName = "myconfig";
denixLibName = "delib";
homeManagerNixpkgs = inputs.nixpkgs;
homeManagerUser = "sjohn";
moduleSystem = "nixos";
paths = [./modules ./hosts ./rices];
exclude = [./modules/deprecated];
recursive = true;
specialArgs = {
inherit inputs;
};
}