NixOS Module Options
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.wm.kodi.enable
Whether to enable Enable Kodi home theater software.
Type: boolean
Default: false
Example: true
custom.wm.x11.i3.enable
Whether to enable Enable i3 wm.
Type: boolean
Default: false
Example: true
custom.wm.lockscreens.gtklock.enable
Whether to enable Enable GTK lock screen.
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
Whether to enable Enable sway window manager.
Type: boolean
Default: false
Example: true
custom.wm.wayland.sway.useSwayFx
Type: lib.types.bool
Default: true
custom.virtualisation.docker.enable
Whether to enable Enable Docker.
Type: boolean
Default: false
Example: true
custom.virtualisation.waydroid.enable
Whether to enable Enable Android virtualisation software.
Type: boolean
Default: false
Example: true
custom.virtualisation.qemu.enable
Whether to enable Enable virtualisation software.
Type: boolean
Default: false
Example: true
custom.virtualisation.qemu.graphical
Whether to enable Enable graphical interface.
Type: boolean
Default: false
Example: true
custom.programs.sudo-rs.enable
Whether to enable Enable sudo-rs, a secure sudo replacement.
Type: boolean
Default: false
Example: true
custom.programs.zsh.enable
Whether to enable Enable ZSH shell.
Type: boolean
Default: false
Example: true
custom.programs.steam.enable
Whether to enable Enable Steam game launcher application.
Type: boolean
Default: false
Example: true
custom.programs.mconnect.enable
Whether to enable Enable MConnect, a KDE connect implementation in Vala.
Type: boolean
Default: false
Example: true
custom.programs.teamviewer.enable
Whether to enable Enable TeamViewer remote desktop interface.
Type: boolean
Default: false
Example: true
custom.programs.adb.enable
Whether to enable Enable Android build tools.
Type: boolean
Default: false
Example: true
custom.builders.enable
Whether to 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.linux.cachyos.useKernel
Whether to enable Use the CachyOS kernel instead of the default Linux kernel.
Type: boolean
Default: false
Example: true
custom.dm.emptty.enable
Whether to enable Enable emptty display manager.
Type: boolean
Default: false
Example: true
custom.dm.greetd.enable
Whether to enable Enable greetd display manager.
Type: boolean
Default: false
Example: true
custom.fs.zfs.enable
Whether to enable Enable ZFS file system.
Type: boolean
Default: false
Example: true
custom.security.keyring.enable
Whether to enable Enable keyring.
Type: boolean
Default: false
Example: true
custom.services.motd.enable
Whether to 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.gamemode.enable
Whether to enable Enable Gamemode performance optimizer.
Type: boolean
Default: false
Example: true
custom.services.sunshine.enable
Whether to enable Enable sunshine game streaming host.
Type: boolean
Default: false
Example: true
custom.services.sunshine.openFirewall
Whether to enable Open required ports on firewall.
Type: boolean
Default: false
Example: true
custom.services.gvfs.enable
Whether to enable Enable GVFS virtual fs.
Type: boolean
Default: false
Example: true
custom.services.kdeconnect.openFirewall
Whether to enable Open needed ports in firewall.
Type: boolean
Default: false
Example: true
custom.services.invidious.enable
Whether to 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.services.openssh.enable
Whether to 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.fail2ban.enable
Whether to enable Enable Fail2ban intrusion prevention software.
Type: boolean
Default: false
Example: true
custom.services.autoUpgrade.enable
Whether to 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.syncthing.enable
Whether to 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.dnsmasq.enable
Whether to 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
Whether to enable Open default firewall ports.
Type: boolean
Default: false
Example: true
custom.services.samba.client.enable
Whether to 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
Whether to 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.hardware.argon40.enable
Whether to enable Enable Argon RPI case management service.
Type: boolean
Default: false
Example: true
custom.hardware.argon40.eon.enable
Whether to enable Enable support for the EON case.
Type: boolean
Default: false
Example: true
custom.hardware.video.nvidia.enable
Whether to enable Enable NVIDIA gpu support.
Type: boolean
Default: false
Example: true
custom.hardware.video.amd.enable
Whether to enable Enable AMD gpu support.
Type: boolean
Default: false
Example: true
custom.hardware.video.amd.vrr.enable
Whether to enable Enable Variable Refresh Rate support.
Type: boolean
Default: false
Example: true
custom.hardware.video.amd.polaris.enable
Whether to enable Enable OpenCL for RX 500 series based GPUs.
Type: boolean
Default: false
Example: true
custom.hardware.upower.enable
Whether to enable Enable Upower, a DBus service that provides power management support to applications..
Type: boolean
Default: false
Example: true
custom.hardware.openrgb.enable
Whether to enable Enable OpenRGB application.
Type: boolean
Default: false
Example: true
custom.hardware.hyperx.cloud-flight-s.enable
Whether to enable Enable hardware support for the HyperX Cloud Flight S.
Type: boolean
Default: false
Example: true
custom.hardware.disko.enable
Whether to 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.plymouth.enable
Whether to enable Enable boot loading animation.
Type: boolean
Default: false
Example: true
custom.hardware.power.thermald.enable
Whether to enable Enable Thermald thermal management for Intel CPUs.
Type: boolean
Default: false
Example: true
custom.hardware.power.tlp.enable
Whether to enable Enable TLP laptop power management.
Type: boolean
Default: false
Example: true
custom.hardware.input.corsair.enable
Whether to enable Enable Corsair keyboard support application.
Type: boolean
Default: false
Example: true
custom.hardware.input.logitech.enable
Whether to enable Enable Logitech hardware support.
Type: boolean
Default: false
Example: true
custom.hardware.sound.pipewire.enable
Whether to enable Enable pipewire sound engine.
Type: boolean
Default: false
Example: true
custom.hardware.bluetooth.enable
Whether to enable Enable Bluetooth.
Type: boolean
Default: false
Example: true
custom.networking.wireguard.enable
Whether to enable Enable Wireguard client.
Type: boolean
Default: false
Example: true
custom.networking.wireguard.openFirewall
Whether to enable 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: {}
Generated with nix-options-doc