NixOS Module Options
custom.builders.enable
Enable remote build
Type: boolean
Default: false
Example: true
custom.builders.machines
Type:
lib.types.listOf (lib.types.submodule {
options = {
hostName = lib.mkOption {
type = lib.types.str;
description = "The hostname of the build machine.";
};
system = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
example = "x86_64-linux";
description = ''
The system type the build machine can execute derivations on.
Either this attribute or {var}`systems` must be
present, where {var}`system` takes precedence if
both are set.
'';
};
};
})
Default: []
custom.services.dnsmasq.enable
Enable dnsmasq DNS service
Type: boolean
Default: false
Example: true
custom.services.dnsmasq.redirects
Redirect a given domain name to a given ip address
Type: lib.types.attrsOf lib.types.str
Default: {}
custom.services.dnsmasq.upstream-servers
The servers to reroute the dns requests to
Type: lib.types.listOf lib.types.str
Default: ["1.1.1.1"]
custom.services.dnsmasq.openFirewall
Open default firewall ports
Type: boolean
Default: false
Example: true
custom.services.nginx.enable
Enable NGINX web server
Type: boolean
Default: false
Example: true
custom.services.kdeconnect.openFirewall
Open needed ports in firewall
Type: boolean
Default: false
Example: true
custom.services.samba.client.enable
Enable Samba share mount client
Type: boolean
Default: false
Example: true
custom.services.samba.client.credentialsFile
The location of the credentials file
Type: lib.types.str
Default: "/secrets/samba/client/default"
custom.services.samba.client.shares
Type:
lib.types.listOf (lib.types.submodule {
options = {
host = {
dir = lib.mkOption {
type = lib.types.str;
description = "The location of the mount on the host";
};
uid = lib.mkOption {
type = lib.types.nullOr lib.types.ints.u16;
default = null;
};
gid = lib.mkOption {
type = lib.types.nullOr lib.types.ints.u16;
default = null;
};
dirMode = lib.mkOption {
type = lib.types.str;
default = "0755";
};
fileMode = lib.mkOption {
type = lib.types.str;
default = "0644";
};
credentialsFile = lib.mkOption {
type = lib.types.str;
description = "The location of the credentials file";
default = cfg.credentialsFile;
};
};
remote = {
host = lib.mkOption {
type = lib.types.str;
description = "The hostname of the machine running the samba server";
};
dir = lib.mkOption {
type = lib.types.str;
description = "The location of the mount on the host";
};
};
};
})
Default: []
custom.services.samba.server.enable
Enable Samba file sharing server
Type: boolean
Default: false
Example: true
custom.services.samba.server.shares
Paths to share using samba
Type: with lib.types; attrsOf str
Default: {}
custom.services.searx.enable
Enable Searxng search engine
Type: boolean
Default: false
Example: true
custom.services.searx.port
The port to run the service on
Type: lib.types.int
custom.services.searx.domain
The external domain the service can be reached from
Type: lib.types.str
custom.services.autoUpgrade.enable
Enable system auto upgrade service
Type: boolean
Default: false
Example: true
custom.services.autoUpgrade.flake
The flake uri of the NixOS config to upgrade to
Type: lib.types.str
Default: "github:guusvanmeerveld/nixos-config"
custom.services.openssh.enable
Enable OpenSSH server
Type: boolean
Default: false
Example: true
custom.services.openssh.openFirewall
Open firewall ports
Type: lib.types.bool
Default: config.networking.firewall.enable
custom.services.syncthing.enable
Enable Syncthing file sync client
Type: boolean
Default: false
Example: true
custom.services.syncthing.user
Type: lib.types.str
Default: "guus"
custom.services.syncthing.group
Type: lib.types.str
Default: "users"
custom.services.syncthing.dataDir
Type: lib.types.str
Default: "/home/guus"
custom.services.syncthing.keyFile
Type: lib.types.str
Default: "/secrets/syncthing/key.pem"
custom.services.syncthing.certFile
Type: lib.types.str
Default: "/secrets/syncthing/cert.pem"
custom.services.syncthing.port
The port to run the service on
Type: lib.types.ints.u16
Default: 8384
custom.services.syncthing.caddy.enable
Enable Caddy integration
Type: lib.types.bool
Default: config.services.caddy.enable
custom.services.syncthing.caddy.url
The external domain the service can be reached from
Type: lib.types.str
custom.services.syncthing.folders
A list of folders that should be shared
Type: with lib.types; attrsOf str
Default: {}
custom.services.syncthing.openFirewall
Open syncthing ports in firewall
Type: lib.types.bool
Default: cfg.enable
custom.services.syncthing.fileTransferPort
Type: lib.types.ints.u16
Default: 22000
custom.services.syncthing.discoveryPort
Type: lib.types.ints.u16
Default: 21027
custom.services.gamemode.enable
Enable Gamemode performance optimizer
Type: boolean
Default: false
Example: true
custom.services.gvfs.enable
Enable GVFS virtual fs
Type: boolean
Default: false
Example: true
custom.services.fail2ban.enable
Enable Fail2ban intrusion prevention software
Type: boolean
Default: false
Example: true
custom.services.motd.enable
Enable custom MOTD
Type: boolean
Default: false
Example: true
custom.services.motd.settings.fileSystems
A list of filesystems that should be shown
Type: lib.types.attrsOf lib.types.str
Default: {}
custom.services.sunshine.enable
Enable sunshine game streaming host
Type: boolean
Default: false
Example: true
custom.services.sunshine.openFirewall
Open required ports on firewall
Type: boolean
Default: false
Example: true
custom.services.invidious.enable
Enable Invidious YouTube frontend
Type: boolean
Default: false
Example: true
custom.services.invidious.port
The port to run the service on
Type: lib.types.int
custom.services.invidious.domain
The external domain the service can be reached from
Type: lib.types.str
custom.fs.zfs.enable
Enable ZFS file system
Type: boolean
Default: false
Example: true
custom.programs.teamviewer.enable
Enable TeamViewer remote desktop interface
Type: boolean
Default: false
Example: true
custom.programs.steam.enable
Enable Steam game launcher application
Type: boolean
Default: false
Example: true
custom.programs.sudo-rs.enable
Enable sudo-rs, a secure sudo replacement
Type: boolean
Default: false
Example: true
custom.programs.mconnect.enable
Enable MConnect, a KDE connect implementation in Vala
Type: boolean
Default: false
Example: true
custom.programs.adb.enable
Enable Android build tools
Type: boolean
Default: false
Example: true
custom.programs.zsh.enable
Enable ZSH shell
Type: boolean
Default: false
Example: true
custom.wm.lockscreens.gtklock.enable
Enable GTK lock screen
Type: boolean
Default: false
Example: true
custom.wm.x11.i3.enable
Enable i3 wm
Type: boolean
Default: false
Example: true
custom.wm.kodi.enable
Enable Kodi home theater software
Type: boolean
Default: false
Example: true
custom.wm.wayland.sway.osd.enable
Enable sway osd
Type: lib.types.bool
Default: config.custom.wm.wayland.sway.enable
custom.wm.wayland.sway.enable
Enable sway window manager
Type: boolean
Default: false
Example: true
custom.wm.wayland.sway.useSwayFx
Type: lib.types.bool
Default: true
custom.security.keyring.enable
Enable keyring
Type: boolean
Default: false
Example: true
custom.dm.emptty.enable
Enable emptty display manager
Type: boolean
Default: false
Example: true
custom.dm.greetd.enable
Enable greetd display manager
Type: boolean
Default: false
Example: true
custom.usersGlobalGroups
A list of groups that every user on this machine should be part of
Type: with lib.types; listOf str
Default: []
custom.users
Type:
with lib.types;
attrsOf (submodule {
options = {
isSuperUser = lib.mkEnableOption "Whether this user is a super user";
groups = lib.mkOption {
type = listOf str;
description = "A list of groups that this user should be in";
default = [];
};
homeManager = {
enable = lib.mkEnableOption "Enable home-manager configuration for this user";
config = lib.mkOption {
type = path;
description = "Path to the home-manager config file";
};
};
ssh = {
keys = lib.mkOption {
type = listOf str;
description = "A list of public keys that are authorized to connect";
default = [];
};
};
};
})
custom.hardware.power.thermald.enable
Enable Thermald thermal management for Intel CPUs
Type: boolean
Default: false
Example: true
custom.hardware.power.tlp.enable
Enable TLP laptop power management
Type: boolean
Default: false
Example: true
custom.hardware.sound.pipewire.enable
Enable pipewire sound engine
Type: boolean
Default: false
Example: true
custom.hardware.plymouth.enable
Enable boot loading animation
Type: boolean
Default: false
Example: true
custom.hardware.backlight.enable
Enable Screen backlight control
Type: boolean
Default: false
Example: true
custom.hardware.upower.enable
Enable Upower, a DBus service that provides power management support to applications.
Type: boolean
Default: false
Example: true
custom.hardware.bluetooth.enable
Enable Bluetooth
Type: boolean
Default: false
Example: true
custom.hardware.disko.enable
Enable Disko disk management
Type: boolean
Default: false
Example: true
custom.hardware.disko.device
The disk to use as the main boot drive
Type: lib.types.str
custom.hardware.disko.swap.size
How large the swap partition should be
Type: lib.types.str
custom.hardware.argon40.enable
Enable Argon RPI case management service
Type: boolean
Default: false
Example: true
custom.hardware.argon40.eon.enable
Enable support for the EON case
Type: boolean
Default: false
Example: true
custom.hardware.hyperx.cloud-flight-s.enable
Enable hardware support for the HyperX Cloud Flight S
Type: boolean
Default: false
Example: true
custom.hardware.openrgb.enable
Enable OpenRGB application
Type: boolean
Default: false
Example: true
custom.hardware.video.amd.enable
Enable AMD gpu support
Type: boolean
Default: false
Example: true
custom.hardware.video.amd.vrr.enable
Enable Variable Refresh Rate support
Type: boolean
Default: false
Example: true
custom.hardware.video.amd.polaris.enable
Enable OpenCL for RX 500 series based GPUs
Type: boolean
Default: false
Example: true
custom.hardware.video.nvidia.enable
Enable NVIDIA gpu support
Type: boolean
Default: false
Example: true
custom.hardware.input.corsair.enable
Enable Corsair keyboard support application
Type: boolean
Default: false
Example: true
custom.hardware.input.logitech.enable
Enable Logitech hardware support
Type: boolean
Default: false
Example: true
custom.networking.wireguard.enable
Enable Wireguard client
Type: boolean
Default: false
Example: true
custom.networking.wireguard.openFirewall
Open default port
Type: boolean
Default: false
Example: true
custom.networking.wireguard.port
The port to use for Wireguard connections
Type: lib.types.port
Default: 49999
custom.networking.wireguard.networks
Type:
with lib.types;
attrsOf (submodule ({name, ...}: {
options = {
enable = lib.mkEnableOption "Enable this network";
privateKeyFile = lib.mkOption {
type = lib.types.str;
default = "/secrets/wireguard/${name}/private";
};
keepAlive = lib.mkEnableOption "Send keep alive to main server to keep NAT open";
};
}))
Default: {}
custom.networking.mullvad.enable
Enable Mullvad VPN client
Type: boolean
Default: false
Example: true
custom.virtualisation.waydroid.enable
Enable Android virtualisation software
Type: boolean
Default: false
Example: true
custom.virtualisation.docker.enable
Enable Docker
Type: boolean
Default: false
Example: true
custom.virtualisation.qemu.enable
Enable virtualisation software
Type: boolean
Default: false
Example: true
custom.virtualisation.qemu.graphical
Enable graphical interface
Type: boolean
Default: false
Example: true
Generated with nix-options-doc