1. Options

Chapter 1. Options

apply

Apply a function over the result of merging the explicit and listed config. This allows you to map a function over the merged config rather than just the explicit config. Allowing you to e.g. add a module to every nixos configuration.

Type: submodule

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
apply.channels

The set of nixpkgs channels made available for use in the configurations. They are made available as a nixpkgs overlay on the channel selected for the configuration.

Type: function that evaluates to a(n) (attribute set)

Default: "<function>"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
apply.containerConfigurations

The set of container configurations. These are nixos containers, i.e. systemd containers.

Type: function that evaluates to a(n) (attribute set)

Default: "<function>"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
apply.homeConfigurations

The set of home configurations. If a home configuration shares a name with a nixos configuration, it will be embedded in the nixos configuration, yet will still be made available seperately.

Type: function that evaluates to a(n) (attribute set)

Default: "<function>"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
apply.nixosConfigurations

The set of nixos configurations. If a nixos configuration shares a name with a container configuration, it will be used for the container and not be made available seperately.

Type: function that evaluates to a(n) (attribute set)

Default: "<function>"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
channels

The set of nixpkgs channels made available for use in the configurations. They are made available as a nixpkgs overlay on the channel selected for the configuration.

Type: attribute set of (submodule)

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
channels.<name>.config

The nixpkgs config that should be used for this channel. By default all channels allow unfree packages.

Type: attribute set

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
channels.<name>.overlays

The list of nixpkgs overlays that should be used for this channel.

Type: (list of (overlay)) or function that evaluates to a(n) list of (overlay)

Default: [ ]

Declared by:

<nixcfg/nixcfg/mkModule.nix>
channels.<name>.patches

The list of patches that should be applied to the nixpkgs source of this channel.

Type: list of path

Default: [ ]

Declared by:

<nixcfg/nixcfg/mkModule.nix>
channels.<name>.source

The nixpkgs source that should be used for this channel.

Type: null or path

Default: null

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerConfigurations

The set of container configurations. These are nixos containers, i.e. systemd containers.

Type: attribute set of (submodule)

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerConfigurations.<name>.channelName

The channel that should be used for this container configuration.

Type: string

Default: "nixpkgs"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerConfigurations.<name>.moduleArgs

The list of arguments that should be passed to the module system evaluation for this container configuration.

Type: attribute set of raw value

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerConfigurations.<name>.modules

The list of container modules that represent this container configuration. By default, if there exist a container configuration file, it will be added to this list.

Type: list of raw value

Default: [ ]

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerConfigurations.<name>.sources

The sources of this container configuration. They extend those of the nixcfg.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerConfigurations.<name>.stateVersion

The state version of this container configuration. By default the latest stable nixos version is used.

Type: string

Default: "22.11"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerConfigurations.<name>.system

The system of this container configuration.

Type: string

Default: "x86_64-linux"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerModules

The set of container modules made available in container configurations.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
containerProfiles

The set of container profiles made available in container configurations.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
data

Arbitrary Nix expressions that can be shared between configurations.

Type: attribute set of unspecified value

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations

The set of home configurations. If a home configuration shares a name with a nixos configuration, it will be embedded in the nixos configuration, yet will still be made available seperately.

Type: attribute set of (submodule)

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations.<name>.channelName

The channel that should be used for this home configuration.

Type: string

Default: "nixpkgs"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations.<name>.moduleArgs

The list of arguments that should be passed to the module system evaluation for this home configuration.

Type: attribute set of raw value

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations.<name>.sources

The sources of this home configuration. They extend those of the nixcfg.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations.<name>.stateVersion

The state version of this home configuration. By default the latest stable nixos version is used.

Type: string

Default: "22.11"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations.<name>.system

The system of this home configuration.

Type: string

Default: "x86_64-linux"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations.<name>.users

The set of users available in this home configuration.

Type: attribute set of (submodule)

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations.<name>.users.<name>.homeDirectory

The home directory of this user.

Type: path

Default: "/home/‹name›"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeConfigurations.<name>.users.<name>.modules

The list of home modules that represent this home configuration. By default, if there exist a home configuration file, it will be added to this list.

Type: list of raw value

Default: [ ]

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeModules

The set of home modules made available in home configurations.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
homeProfiles

The set of home profiles made available in home configurations.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
lib

The extended lib made available as an output and passed to the module system.

Type: submodule

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
lib.channelName

The channel that should be used for this lib configuration.

Type: string

Default: "nixpkgs"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
lib.overlays

The list of lib overlays that should be used for this lib.

Type: list of (overlay)

Default: [ ]

Declared by:

<nixcfg/nixcfg/mkModule.nix>
name

The name used to refer to this nixcfg.

Type: string

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixcfgs

The list of nixcfgs to be merged with this one in the order listed. These can be nixcfg names referring to their source, or actual nixcfgs. The sources cannot be used to determine this, because attrsets are unordered, yet the order is significant in how things will be merged.

Type: list of (string or (attribute set))

Default: [ ]

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosConfigurations

The set of nixos configurations. If a nixos configuration shares a name with a container configuration, it will be used for the container and not be made available seperately.

Type: attribute set of (submodule)

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosConfigurations.<name>.channelName

The channel that should be used for this nixos configuration.

Type: string

Default: "nixpkgs"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosConfigurations.<name>.moduleArgs

The list of arguments that should be passed to the module system evaluation for this nixos configuration.

Type: attribute set of raw value

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosConfigurations.<name>.modules

The list of nixos modules that represent this nixos configuration. By default, if there exist a nixos configuration file, it will be added to this list.

Type: list of raw value

Default: [ ]

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosConfigurations.<name>.sources

The sources of this nixos configuration. They extend those of the nixcfg.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosConfigurations.<name>.stateVersion

The state version of this nixos configuration. By default the latest stable nixos version is used.

Type: string

Default: "22.11"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosConfigurations.<name>.system

The system of this nixos configuration.

Type: string

Default: "x86_64-linux"

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosModules

The set of nixos modules made available in nixos configurations.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
nixosProfiles

The set of nixos profiles made available in nixos configurations.

Type: attribute set of path

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
overlays

The nixpkgs overlays that can be used to extend a nixpkgs channel. Only the default overlay, so named or defined in 'pkgs/overlays.nix', is added by default to the list of nixpkgs overlays.

Type: attribute set of (overlay)

Default: { }

Declared by:

<nixcfg/nixcfg/mkModule.nix>
path

The path where this nixcfg is located and from where arguments will be listed.

Type: path

Declared by:

<nixcfg/nixcfg/mkModule.nix>
sources

The sources of this nixcfg.

Type: attribute set of path

Declared by:

<nixcfg/nixcfg/mkModule.nix>
systems

The list of systems that are supported. Any referenced system, e.g. in a nixos configuration, must be an element of this list.

Type: list of (one of "aarch64-darwin", "aarch64-genode", "aarch64-linux", "aarch64-netbsd", "aarch64-none", "aarch64_be-none", "arm-none", "armv5tel-linux", "armv6l-linux", "armv6l-netbsd", "armv6l-none", "armv7a-darwin", "armv7a-linux", "armv7a-netbsd", "armv7l-linux", "armv7l-netbsd", "avr-none", "i686-cygwin", "i686-darwin", "i686-freebsd13", "i686-genode", "i686-linux", "i686-netbsd", "i686-none", "i686-openbsd", "i686-windows", "js-ghcjs", "m68k-linux", "m68k-netbsd", "m68k-none", "microblaze-linux", "microblaze-none", "microblazeel-linux", "microblazeel-none", "mips64el-linux", "mipsel-linux", "mipsel-netbsd", "mmix-mmixware", "msp430-none", "or1k-none", "powerpc-netbsd", "powerpc-none", "powerpc64-linux", "powerpc64le-linux", "powerpcle-none", "riscv32-linux", "riscv32-netbsd", "riscv32-none", "riscv64-linux", "riscv64-netbsd", "riscv64-none", "rx-none", "s390-linux", "s390-none", "s390x-linux", "s390x-none", "vc4-none", "wasm32-wasi", "wasm64-wasi", "x86_64-cygwin", "x86_64-darwin", "x86_64-freebsd13", "x86_64-genode", "x86_64-linux", "x86_64-netbsd", "x86_64-none", "x86_64-openbsd", "x86_64-redox", "x86_64-solaris", "x86_64-windows")

Default: [ "x86_64-linux" "aarch64-linux" ]

Declared by:

<nixcfg/nixcfg/mkModule.nix>