Skip to content

Instantly share code, notes, and snippets.

@Pacman99
Last active March 30, 2021 19:33
Show Gist options
  • Save Pacman99/74c8079265133732896ddfa1e35258f2 to your computer and use it in GitHub Desktop.
Save Pacman99/74c8079265133732896ddfa1e35258f2 to your computer and use it in GitHub Desktop.

extern

Function with argument 'inputs' that contains all devos and ${self}'s inputs. The function should return an attribute set with modules, overlays, and specialArgs to be included across nixos and home manager configurations. Only attributes that are used should be returned.

Type: function that evaluates to a(n) attrs

Default

"{ inputs }: {\n  modules = []; overlays = []; specialArgs = [];\n  userModules = []; userSpecialArgs = [];\n}\n"

hosts

Path to directory containing host configurations that will be exported to the 'nixosConfigurations' output.

Type: path

Default

"${self}/hosts"

modules

list of modules to include in confgurations and export in 'nixosModules' output

Type: list of valid modules

Default

[]

overlays

path to folder containing overlays which will be applied to pkgs and exported in the 'overlays' output

Type: path

Default

"${self}/overlays"

overrides

attrset of packages and modules that will be pulled from nixpkgs master

Type: attribute set

Default

"{ modules = []; disabledModules = []; packages = {}; }"

packages

Overlay for custom packages that will be included in treewide 'pkgs'. This should follow the standard nixpkgs overlay format - two argument function that returns an attrset. These packages will be exported to the 'packages' and 'legacyPackages' outputs.

Type: Nixpkgs overlay

Default

"(final: prev: {})"

profiles

path to profiles folder that can be collected into suites

Type: path

Default

"${self}/profiles"

self

The flake to create the devos outputs for

Type: attribute set

suites

Function with inputs 'users' and 'profiles' that returns attribute set with user and system suites. The former for Home Manager and the latter for nixos configurations. These can be accessed through the 'suites' specialArg in each config system.

Type: function that evaluates to a(n) attrs

Default

"{ user = {}; system = {}; }"

userModules

list of modules to include in home-manager configurations and export in 'homeModules' output

Type: list of valid modules

Default

[]

userProfiles

path to user profiles folder that can be collected into userSuites

Type: path

Default

"${self}/users/profiles"

users

path to folder containing profiles that define system users

Type: path

Default

"${self}/users"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment