Creating a function name to be called with a given number of inputs It is advised to combine them with Nix Let so that they are evaluated within NixOS configuration files.
Nesting Functions
Functions are nested by default. What this means is that, if you provide multiple inputs, there will be other functions created that carry and separate the inputs so that they can be evaluated separately. If you want to avoid nesting, pass parameters as sets
Sets as Parameters
This is very similar to configuration.nix, where inputs are recieved and the body is evaluated.
Default Attributes
You can set default values for attributes incase a value is not given
Ignoring Additional Arguments
Use an ellipsis to note that only 2 inputs are required.
Saving All Parameters
Use @<variablename>
to save all parameters to variable <variablename>