_module.args
Additional arguments passed to each module in addition to ones like
lib
, config
, and pkgs
,
modulesPath
.
This option is also available to all submodules. Submodules do not
inherit args from their parent module, nor do they provide args to their
parent module or sibling submodules. The sole exception to this is the
argument name
which is provided by parent modules to a
submodule and contains the attribute name the submodule is bound to, or
a unique generated name if it is not bound to an attribute.
Some arguments are already passed by default, of which the following cannot be changed with this option:
lib
: The nixpkgs library.config
: The results of all options after merging the values from all modules together.options
: The options declared in all modules.specialArgs
: ThespecialArgs
argument passed toevalModules
.All attributes of
specialArgs
Whereas option values can generally depend on other option values thanks to laziness, this does not apply to
imports
, which must be computed statically before anything else.For this reason, callers of the module system can provide
specialArgs
which are available during import resolution.For NixOS,
specialArgs
includesmodulesPath
, which allows you to import extra modules from the nixpkgs package tree without having to somehow make the module aware of the location of thenixpkgs
or NixOS directories.{ modulesPath, ... }: { imports = [ (modulesPath + "/profiles/minimal.nix") ]; }
For NixOS, the default value for this option includes at least this argument:
pkgs
: The nixpkgs package set according to thenixpkgs.pkgs
option.
Type: lazy attribute set of raw value
Declared by:
nice.extra.gpu-pass.enable
Whether to enable gpu-pass, for gpu passthrough.
Type: boolean
Default: false
Example: true
Declared by:
nice.extra.gpu-pass.devices
PCI Bus ID of the desired GPUs. You can find them by using lspci -k and/or virsh nodedev-list --cap pci.
Type: list of string
Default: [ ]
Example:
[
"pci_0000_06_00_0"
"pci_0000_06_00_1"
"pci_0000_06_00_2"
"pci_0000_06_00_3"
]
Declared by:
nice.extra.gpu-pass.guest
Name of your guest. Be sure to match exactly for the hook to work.
Type: string
Default: "win10"
Example: "Windows"
Declared by:
nice.extra.gpu-pass.optimize.enable
Whether to enable Dynamically isolate CPUs with systemd.
Type: boolean
Default: false
Example: true
Declared by:
nice.extra.gpu-pass.optimize.host
Isolate the host to the specified core(s), improving performance on the guest. This option passes straight to AllowedCPUs, so you can use any value you desire.
Type: string
Default: "0"
Example: "0-8"
Declared by:
nice.extra.gpu-pass.optimize.topography
When guest shutdowns, return these cores to the host. You can find them by using lscpu -e. For example, you can use 0-11 for a host with 12 CPUs. This option passes straight to AllowedCPUs, so you can use any value you desire.
Type: string
Example: "0-11"
Declared by:
nice.host.cpu
The manufacturer of the host’s CPU.
Type: null or one of “amd”, “intel”
Default: null
Declared by:
nice.host.gpu
The manufacturer of the host’s GPU. Will be used to load the necessary drivers for optimal functionality.
Type: null or (list of (one of “amd”, “nvidia”))
Default: null
Declared by:
nice.host.opts.isWayland
Whether to enable Wayland exclusive modules.
This option depends on
config.nice.host.opts.waylandReady
and is set automatically
if a Wayland compositor is enabled on
config.nice.user.desktop
.
Enabling a Wayland compositor without enabling
waylandReady
will result in an error!
Type: boolean (read only)
Default: false
Declared by:
nice.host.opts.profiles
A list of all profiles enabled for this host.
The main purpose of this option is to not polute
system.nixos.tags
, as we may be dealing with way more
profiles in the future.
Type: list of (one of “gaming”, “server”)
Default: [ ]
Declared by:
nice.host.opts.roles
A list of all roles enabled for this host.
The main purpose of this option is to not polute
system.nixos.tags
, as we may be dealing with way more roles
in the future.
Type: list of (one of “desktop”, “laptop”, “iso”)
Default: [ ]
Declared by:
nice.host.opts.waylandReady
Whether the system has all the necessary requirements to run a Wayland compositor.
This option should be set on your own discretion, as there isn’t any kind of check to this.
Trust me bro.
Type: boolean
Default: false
Declared by:
nice.host.services.ddns.cloudflare
Cloudflare domains to be updated by ddclient.
Type: list of string
Default: [ ]
Declared by:
nice.host.services.kanidm.enable
Whether to enable Kanidm, simple and secure identity management platform.
Type: boolean
Default: false
Example: true
Declared by:
nice.host.services.navidrome.enable
Whether to enable Navidrome, self-hosted music server.
Type: boolean
Default: false
Example: true
Declared by:
nice.host.services.nginx.enable
Whether to enable nginx, all-in-one load balancer, content cache, and web server.
Type: boolean
Default: false
Example: true
Declared by:
nice.host.system.gpg.enable
Whether to enable gnupg at system level.
Type: boolean
Default: false
Example: true
Declared by:
nice.host.system.kernel
The kernel to be used by the host
Type: raw value
Default: pkgs.linuxPackages
Example: pkgs.linuxPackages_latest
Declared by:
nice.user.desktop.gnome.enable
Whether to enable the GNOME desktop environment.
Will be set to true if config.nice.user.desktop.setup
contains “GNOME”.
Type: boolean
Default: false
Declared by:
nice.user.desktop.hyprland.enable
Whether to enable the Hyprland wayland compositor
Will be set to true if config.nice.user.desktop.setup
contains “Hyprland”.
Type: boolean
Default: false
Declared by:
nice.user.desktop.setup
A list containing all desktop environments to be enabled.
Type: list of (one of “Hyprland”, “GNOME”, “none”)
Default:
[
"none"
]
Declared by:
nice.user.display.main
The main display in the configuration. Will be used as a reference to properly align other monitors.
Type: null or string
Default: null
Declared by:
nice.user.display.monitors
Attribute set containing all monitors used in this configuration.
This will break all kinds of monitor setup if these services are enabled and this option don’t have any monitor set up.
Type: attribute set of (submodule)
Default: { }
Declared by:
nice.user.display.monitors.<name>.height
The height of this monitor.
Type: signed integer
Example: 1080
Declared by:
nice.user.display.monitors.<name>.pos
Used in a multi-monitor setup to properly position them.
Type: null or one of “top”, “right”, “bottom”, “left”
Default: null
Declared by:
nice.user.display.monitors.<name>.refreshRate
The refresh rate of this monitor.
Type: signed integer
Default: 60
Declared by:
nice.user.display.monitors.<name>.scale
The scale of this monitor, usually 1 is enough.
Type: signed integer
Default: 1
Declared by:
nice.user.display.monitors.<name>.wallpaper
Desired wallpaper for this monitor. Will be used by services such as hyprpaper/swww.
Type: string or package
Default: null
Declared by:
nice.user.display.monitors.<name>.width
The width of this monitor.
Type: signed integer
Example: 1920
Declared by:
nice.user.home-manager.enable
Whether to enable home-manager, to manage a user environment using Nix…
Type: boolean
Default: false
Example: true
Declared by:
nice.user.main
The username of the main user of the system.
Type: string
Default: "supeen"
Declared by:
nice.user.style.cursor.package
The package providing the cursors
Type: package
Default:
<derivation bibata-cursors-2.0.6>
Declared by:
nice.user.style.cursor.name
Name of the cursor inside the package
Type: string
Default: "Bibata-Modern-Classic"
Declared by:
nice.user.style.cursor.size
The size of the cursor
Type: signed integer
Default: 24
Declared by:
nice.user.style.gtk.enable
Whether to enable GTK Style Module.
Type: boolean
Default: false
Example: true
Declared by:
nice.user.style.gtk.font.name
Name of the font that will be used by GTK applications
It should already be installed by
config.fonts.packages
!
Type: string
Default: "Iosevka"
Declared by:
nice.user.style.gtk.font.size
Size of the font used by GTK applications
Type: signed integer
Default: 12
Declared by:
nice.user.style.gtk.iconTheme.package
The package providing the icons
Type: package
Default:
<derivation papirus-icon-theme-20240501>
Declared by:
nice.user.style.gtk.iconTheme.name
Name of the icon inside the package
Type: string
Default: "Papirus-Dark"
Declared by:
nice.user.style.gtk.theme.package
The package providing the theme
Type: package
Default:
<derivation magnetic-catppuccin-gtk-0-unstable-2024-06-27>
Declared by:
nice.user.style.gtk.theme.name
Name of the theme inside the package
Type: string
Default: "Catppuccin-GTK-Dark-Compact"
Declared by:
nice.user.style.qt.enable
Whether to enable QT Style Module.
Type: boolean
Default: false
Example: true
Declared by:
nice.user.style.qt.kvantum.package
Path to the Kvantum theme package
Type: package
Default:
<derivation catppuccin-kvantum-0-unstable-2024-10-10>
Declared by:
nice.user.style.qt.kvantum.kvconfig
Path to the Kvantum theme configuration file
Type: string
Default:
"/nix/store/kjjfy6rc1kwhdwqjsxpkrxmwg98806n0-catppuccin-kvantum-0-unstable-2024-10-10/share/Kvantum/Catppuccin-Mocha-Blue/Catppuccin-Mocha-Blue.kvconfig"
Declared by:
nice.user.style.qt.kvantum.svg
Path to the Kvantum theme SVG file
Type: string
Default:
"/nix/store/kjjfy6rc1kwhdwqjsxpkrxmwg98806n0-catppuccin-kvantum-0-unstable-2024-10-10/share/Kvantum/Catppuccin-Mocha-Blue/Catppuccin-Mocha-Blue.svg"
Declared by:
nice.user.style.qt.theme.package
The package providing the themes
Type: package
Default: <derivation kde-0.2.6>
Declared by:
nice.user.style.qt.theme.kdeglobals
The source file for the kdeglobals file. Usually provided by the QT theme package.
Type: string
Default:
"/nix/store/v9hf3y97azz3lxdm2rcsa7l25p33mhc8-kde-0.2.6/share/color-schemes/CatppuccinMochaBlue.colors"
Declared by:
nice.user.style.qt.theme.name
Name of the theme inside the package. This will probably not be used by anything, but let’s keep it here
Type: string
Default: "Catppuccin-Mocha-Blue"
Declared by:
nice.user.style.qt.useGtk
Whether to force QT applications to use the GTK theme.
Type: boolean
Default: false
Declared by:
nice.user.style.qt.useKvantum
Whether to use Kvantum for theming QT applications
Type: boolean
Default: false
Declared by: